java有用的程序_第1页
java有用的程序_第2页
java有用的程序_第3页
java有用的程序_第4页
java有用的程序_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、6. 定义一个类Initial,类的内部重载initArr()方法,分别实现对整型数组、双精度型数组、字符串数组的初始化功能,数组作为方法的参数,方法体内提示用户为数组元素输入数据,然后显示所有元素。在mian方法中创建三种类型的数组,创建Initial类的对象,分别调用initArr()方法进行初始化。import java.util.*;public class OverLoad2 public static void main(String args) / TODO Auto-generated method stubScanner reader = new Scanner(System

2、.in);Initial init = new Initial();int a = new int6;init.initArr(a);double b = new double5;init.initArr(b);String s = new String3;init.initArr(s);class InitialScanner reader = new Scanner(System.in);void initArr(int arr) System.out.println(初始化整型数组); for(int i=0;iarr.length;i+) System.out.println(请输入第

3、+(i+1)+个整数); arri = reader.nextInt(); System.out.println(整型数组初始化完毕,所有元素为:); for(int i=0;iarr.length;i+) System.out.print(arri+ ); System.out.println(n-); void initArr(double arr) System.out.println(初始化双精度型数组); for(int i=0;iarr.length;i+) System.out.println(请输入第+(i+1)+个双精度数); arri = reader.nextDouble

4、(); System.out.println(双精度型数组初始化完毕,所有元素为:); for(int i=0;iarr.length;i+) System.out.print(arri+ ); System.out.println(n-); void initArr(String arr) System.out.println(初始化字符串型数组); for(int i=0;iarr.length;i+) System.out.println(请输入第+(i+1)+个字符串); arri = reader.next(); System.out.println(字符串型数组初始化完毕,所有元素

5、为:); for(int i=0;i=0.5)return n+1;elsereturn n;static long round(double a)long n = (long)a;if(a-n=0.5)return n+1;elsereturn n;生命周期及作用域1. 定义一个按身高计算标准体重的类StdWeight,其中包含两个静态的成员方法:forMale(double h)计算男子标准体重、forFemale(double h)计算女子标准体重,两个方法均带返回值。在应用程序类的main方法中提示用户输入身高和性别,调用StdWeight类的方法得到标准体重,显示结果。计算公式:标准

6、体重(男)=(身高cm-100)x0.9(kg) 标准体重(女)=(身高cm-100)x0.9(kg)-2.5(kg) 正常体重:标准体重-(多少)10提示:控制实数保留N位小数:(如保留2位小数)import java.text.DecimalFormat;double num = 21.3749;DecimalFormat df = new DecimalFormat(0.00);String s = df.format(num); /21.37参考代码:import java.util.*;import java.text.*;public class Demo public stati

7、c void main(String args) Scanner reader = new Scanner(System.in);System.out.println(请输入您的身高(单位厘米);double height = reader.nextDouble();System.out.println(请选择您的性别:1.男 2.女);int sex = reader.nextInt();DecimalFormat df = new DecimalFormat(0.00); if(sex=1)System.out.println(标准体重是+df.format(StdWeight.forFe

8、male(height)+公斤);else if(sex=2)System.out.println(标准体重是+df.format(StdWeight.forMale(height)+公斤);elseSystem.out.println(您输入的选择不正确。);class StdWeightstatic double forMale(double h)return (h-100)*0.9;static double forFemale(double h)return (h-100)*0.9-2.5; Java常用类与函数库1. 提示用户输入三角型两边边长与其夹角度数,利用公式s=1/2absi

9、n(c)计算三角型面积,输出结果。注意:正弦值的计算对象是弧度制的角,需将角度转换为弧度:/180。import java.util.Scanner;import java.text.DecimalFormat;class Demo public static void main(String args)Scanner reader = new Scanner(System.in);System.out.println(请输入三角型两边边长);double a = reader.nextDouble();double b = reader.nextDouble();System.out.pri

10、ntln(请输入两边夹角度数);double angle = reader.nextDouble();double s = 0.5*a*b*Math.sin(angle*Math.PI/180);DecimalFormat df = new DecimalFormat(0.00);String area = df.format(s);System.out.println(该三角型面积是+area);/System.out.println(Math.sin(90);2. 编写Java应用程序,使用Vector向量来保存用户输入的若干字符串。循环读入用户输入的字符串,以end作为结束。将所有字符串

11、显示出来。在所有字符串的中间位置插入“NICE”,再次显示所有字符串。import java.util.Vector;import java.util.Scanner;class Demo public static void main(String args)Scanner reader = new Scanner(System.in);Vector vct = new Vector(1,1);System.out.println(请输入字符串,以输入end作为结束);String str;dostr = reader.next();vct.add(str);while(!str.equal

12、s(end);System.out.println(您刚才输入的所有字符串是:);System.out.println(vct.toString();System.out.println(插入NICE到中间位置:);int n = vct.capacity();vct.insertElementAt(NICE,n/2);System.out.println(vct.toString();3. 显示InputDialog输入对话框实现对用户输入的英文单词进行简单处理(转换为大写、转换为小写、反转显示)。程序运行效果如下图:import javax.swing.JOptionPane;class

13、Demo public static void main(String args)String str = JOptionPane.showInputDialog(请输入一个英文单词);str = str.trim();String items = 转换为大写, 转换为小写, 反转显示 ; Object selectedValue = JOptionPane.showInputDialog(null, 请选择, 输入, JOptionPane.INFORMATION_MESSAGE, null, items, items0);String choice = (String)selectedVa

14、lue;if(choice.equals(转换为大写)JOptionPane.showMessageDialog(null,str.toUpperCase(),操作结果,JOptionPane.INFORMATION_MESSAGE);else if(choice.equals(转换为小写)JOptionPane.showMessageDialog(null,str.toLowerCase(),操作结果,JOptionPane.INFORMATION_MESSAGE);else JOptionPane.showMessageDialog(null,(new StringBuffer(str).

15、reverse(),操作结果,JOptionPane.INFORMATION_MESSAGE);对象的进一步探讨-面向对象中的继承1. 定义一个球类Ball,包含一个私有成员变量半径(double r),两个公有成员方法:设定半径值方法( void setR(double x) 、 得到半径值方法(double getR( ))。定义一个台球类Billiards,继承Ball类,包含一个私有成员变量颜色(String color),两个公有成员方法:设定颜色方法(void setCol (String clo))、输出信息方法(void show()),其中show方法可以输出该台球的颜色和半

16、径值。定义一个公有类,测试前两个类。class Ballprivate double r;public void setR(double x)r = x;public double getR()return r;class Billiards extends Ballprivate String color;public void setCol(String col)color = col;public void show()System.out.println(台球的颜色是+color+,半径是+getR();public class Demopublic static void main(

17、String args)Ball b1 = new Ball();b1.setR(10);System.out.println(球的半径是+b1.getR();Billiards b2 = new Billiards();b2.setR(5);b2.setCol(蓝色);b2.show();2. 定义材料类Material,包含:保护的成员变量名称、单价(String name; double price;)为数据初始化赋值的构造方法;公有的成员方法得到所有信息(public String toString())。定义木材类Wood,继承自材料类。包含:私有的成员变量颜色(String col

18、;)为数据初始化赋值的构造方法;覆盖公有的成员方法得到所有信息(public String toString())。定义公共类,测试上述两个类的使用。思考:程序中把木材类中toString()方法的public 去掉会产生什么结果?为什么?程序中把材料类中toString()方法的public 去掉会产生什么结果?为什么?class Materialprotected String name;protected double price;Material(String n,double p)name = n;price = p;public String toString()return na

19、me+的价格是+price;class Wood extends Materialprivate String col;Wood(String n,double p,String c)super(n,p);col = c;public String toString()return name+的价格是+price+,颜色是+col;public class Demopublic static void main(String args)Material m = new Material(大理石,1000);System.out.println(m.toString();Wood w = new

20、 Wood(檀木,1200,红棕);System.out.println(w.toString();思考题:木材类中toString()方法的public 去掉程序会出错,因为该方法由材料类继承而来,子类覆盖父类的方法时不能缩小其访问权限,public去掉就会变成包访问权限,此处不能去掉。 材料类中toString()方法的public 去掉会产生同样的问题,因为toString方法不是材料类自定义的,是所有类的父类Object类提供的。3. 改写例7-8,给Shape类增加构造方法,能够对颜色进行初始化设置,思考两个子类的构造方法该如何修改才能使程序正常运行。class Demo publi

21、c static void main(String args)Circle c = new Circle(blue,1);c.printInfo();Rectangle rect = new Rectangle(green,3,4);rect.printInfo();class ShapeString color;Shape(String c)color = c;double getArea()return 0;class Circle extends Shapedouble radius;Circle(String c, double r)super(c);radius = r;double

22、 getArea()return Math.PI*radius*radius;void printInfo()System.out.println(圆的颜色是:+color+面积是+getArea();class Rectangle extends Shapedouble width, height;Rectangle(String c, double w, double h)super(c);width = w;height = h;double getArea()return width*height;void printInfo()System.out.println(矩形的颜色是:+c

23、olor+面积是+getArea();深入多态1. 要使程序运行后出现如下结果,该如何修改程序代码。去掉Person类前面的final,去掉Student类中show()方法前面的final。class Person String name;char sex;Person()Person(String n,char s)name = n;sex = s;void show()System.out.println(name is +name+, sex is +sex);class Student extends Personint number;Student()Student(String

24、n, char s, int num)name = n;sex = s;number = num;void show()System.out.println(name is +name+, sex is +sex+,number is +number);class Pupil extends Studentdouble hcScore;Pupil()Pupil (String n, char s, int num,double hcs)name = n;sex = s;number = num;hcScore = hcs;void show()System.out.println(name i

25、s +name+, sex is +sex+,number is +number+,Score is +hcScore);public class App01public static void main(String s)Person p = new Person(小明, 男);p.show();Student stu = new Student(小明, 男,101);stu.show();Pupil pu = new Pupil(小明, 男,101,95);pu.show();2. 求正方形的面积a)创建一个接口IShape ,接口中有一个抽象方法public double area( );b)定义一个类square,且实现IShape接口。square类有一个属性表示正方形的边长;构造方法初始化该边长。c)定义一个主类,在此类中,创建square类的实例,求该正方形面积。interface IShapepublic double area();class square implements IShapedouble length ;public square(double l)length = l;public do

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论