java作业答案.doc

上传人:ni****g 文档编号:560319151 上传时间:2023-08-09 格式:DOC 页数:18 大小:330.01KB
返回 下载 相关 举报
java作业答案.doc_第1页
第1页 / 共18页
java作业答案.doc_第2页
第2页 / 共18页
java作业答案.doc_第3页
第3页 / 共18页
java作业答案.doc_第4页
第4页 / 共18页
java作业答案.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《java作业答案.doc》由会员分享,可在线阅读,更多相关《java作业答案.doc(18页珍藏版)》请在金锄头文库上搜索。

1、 第三章 Java面向对象1、为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三类:ComputeTime.java, Plane.java, Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,

2、第二、三、四个参数分别时整数A、B、C,举例如下: 计算Plane的时间:java ComputeTime Plane 20 30 40 计算Car007的时间:java ComputeTime Car007 23 34 45 如果第3种交通工具为Ship, 则只需要编写Ship.java,运行时输入:java ComputeTime Ship 22 33 44提示:充分利用接口的概念,接口对象充当参数。实例化一个对象的另外一种办法:Class.forName(str).newInstance();例如需要实例化一个Plane对象的话,则只要调用Class.forName(Plane).new

3、Instance()便可ComputerTime.java源程序:import pkg1.pkg2.*;import java.lang.*;public class ComputerTime public static void main(String args) System.out.println(交通工具: +args0);System.out.println( 参数A: +args1);System.out.println( 参数B: +args2);System.out.println( 参数C: +args3); double A=Double.parseDouble(args1

4、); double B=Double.parseDouble(args2); double C=Double.parseDouble(args3);double v,t;try Common d=(Common) Class.forName(pkg1.+args0).newInstance(); v=d.runtimer(A,B,C);t=1000/v;System.out.println(平均速度: +v+ km/h); System.out.println(运行时间:+t+ 小时); catch(Exception e) System.out.println(class not found

5、);包pkg1中Car007.java的源程序:package pkg1;import pkg1.pkg2.*;public class Car007 implements Commonpublic double runtimer(double A,double B,double C) System.out.println(runtime=+(A*B/C); return A*B/C; 包pkg1中Plane.java的源程序:package pkg1;import pkg1.pkg2.*;public class Plane implements Commonpublic double ru

6、ntimer(double A,double B,double C)return A+B+C; 包pkg2中Common.java的源程序:package pkg1.pkg2;public interface Common double runtimer(double A,double B,double C); 2 编写一个学生类 Student ,要求: (1) 学生类 Student 属性有: id : long型,代表学号 name : String类对象,代表姓名 age : int型,代表年龄 sex : boolen型,代表性别(其中:true表示男,false表示女) phone

7、 : String类对象,代表联系电话 (2) 学生类 Student的方法有: Student(long i , String n , int a , boolean s , long p) : 有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。 int getAge() ( ) : 获取年龄作为方法的返回值。 boolean getSex( ) ( ) : 获取性别作为方法的返回值。 long getPhone ( ) : 获取联系电话作为方法的返回值。 public String toString( ) : 以 姓名:联系电话 的形式作为方法的返回值。public

8、class Student private long id; private String name; private int age; private boolean sex; private String phone; public Student() public Student(long id, String name, int age, boolean sex, String phone) this.id = id; this.name = name; this.age = age; this.sex = sex; this.phone = phone; public long ge

9、tId() return id;public String getName() return name;public int getAge() return age;public boolean getSex() return sex;public String getPhone() return phone;public String toString() return name + : + phone;public static void main(String args) 3、利用接口编写三角形、矩形的面积和周长的程序。Point.classpublic class Point int

10、x;int y;Point()Point(int a,int b)x=a;y=b; public static double getInstance(Point p1, Point p2) return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2); Triangle.classpublic class Triangle Point n1,n2,n3;boolean isTriangle;public Triangle(Point n1,Point n2,Point n3)this.n1=n1;this.n2=n2;

11、this.n3=n3;double sideA=Point.getInstance(n1,n2);double sideB=Point.getInstance(n2,n3);double sideC=Point.getInstance(n1,n3);if(sideA+sideBsideC&sideB+sideCsideA)isTriangle=true;elseisTriangle=false;public void getPerimeter()if(isTriangle)double sideA=Point.getInstance(n1,n2);double sideB=Point.getI

12、nstance(n2,n3);double sideC=Point.getInstance(n1,n3);System.out.println(三角形的周长为+(sideA+sideB+sideC);elseSystem.out.println(不能构成三角形!);public void getArea()if(isTriangle)double sideA=Point.getInstance(n1,n2);double sideB=Point.getInstance(n2,n3);double sideC=Point.getInstance(n1,n3);double p=(sideA+si

13、deB+sideC)/2.0;System.out.println(三角形的面积为+ Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC);elseSystem.out.println(不能构成三角形!);Test.classpublic class Test public static void main(String args) Point n1=new Point(3,0);Point n2 =new Point(0,4);Point n3=new Point(0,0);Triangle sanjiao=new Triangle(n1,n2,n3);sanjiao.getPerimeter();sanjiao.getArea(); 4 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如我ABC4,应该截为我AB,输入我ABC汉DEF,6,应该输出为我ABC而不是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号