您好,欢迎访问三七文档
定义二元运算类,该类的基本要求:私有成员变量:两个数值类型的变量成员方法:输出两个数的和;输出两个数的差构造方法:给两个数赋初值;其他方法可根据需要自行添加;编写程序main方法,创建二元运算类的对象,并通过命令行参数使用有参构造方法初始化这个对象的两个数,在控制台输出该两个数的和、差。publicclassCal{privateintc1;privateintc2;publicCal(inta,intb){c1=a;c2=b;}publicintsum(){returnc1+c2;}publicintmul(){returnc1-c2;}publicstaticvoidmain(Stringargs[]){Calc=newCal(Integer.parseInt(args[0]),Integer.parseInt(args[1]));System.out.println(c.c1+++c.c2+=+c.sum());System.out.println(c.c1+-+c.c2+=+c.mul());}}定义车Car类,该类定义在com.father包,该类的基本要求:私有成员变量:车牌号、颜色成员方法:输出车的详细信息构造方法:初始化车的车牌号和颜色其他方法可根据需要自行添加定义公交车Bus类继承Car类,定义在com.son该类的基本要求:私有成员变量:路线名称成员方法:输出公交车的详细信息构造方法:初始化车的车牌号、颜色、线路名称其他方法可根据需要自行添加编写main方法,创建两辆公交车类的对象实例,并通过有参构造方法初始化公交车的相关信息,在控制台输出两辆公交车的详细信息。packagecom.fater;publicclassCar{privateStringno;privateStringcolor;publicCar(Stringn,Stringc){no=n;color=c;}publicvoidsetMessage(){System.out.println(车牌号:+no+颜色:+color);}publicStringgetNo(){returnno;}publicStringgetColor(){returncolor;}}packagecom.son;importcom.fater.Car;publicclassBusextendsCar{privateStringroad;publicBus(Stringr,Stringn,Stringc){super(n,c);road=r;}publicvoidsetMessage(){System.out.println(车牌号:+getNo()+颜色:+getColor()+路线名称:+road);}publicstaticvoidmain(Stringargs[]){Busb1=newBus(A-B路,互132M53,白色);Busb2=newBus(C-A路,丸84522K,黑色);b1.setMessage();b2.setMessage();}}实验一:1.创建一个正方形类Square,正方形的边长的访问权限为private,将其生成在myapp.square包中,设计构造方法。2.创建一个圆类Circle,圆的半径的访问权限为private,将其生成在myapp.circle包中,提供一个改变圆半径的成员方法。3.定义一个类,要求:(1)通过键盘流输入正方形的边长和圆的半径。(2)当输入的边长大于半径时,输出圆周长和正方形面积的差值(若输出的差值为负值,请将其转化为正值);当输入的边长小于半径时,输出圆面积和正方形周长的差值。差值通过DOS控制台输出(若输出的差值为负值,请将其转化为正值)。packagemyapp.square;publicclassSquare{privatedoublelength=0;publicSquare(){}publicSquare(doublel){length=l;}publicdoublegetLength(){returnlength;}publicdoublegetSC(){returnlength*4;}publicdoublegetSA(){returnlength*length;}}packagemyapp.circle;publicclassCircle{privatedoubleradius=0;publicvoidsetRadius(doubler){radius=r;}publicdoublegetRadius(){returnradius;}publicdoublegetCC(){return2*Math.PI*radius;}publicdoublegetCA(){returnMath.PI*radius*radius;}}importmyapp.circle.Circle;importmyapp.square.Square;importjava.util.Scanner;publicclassTest{publicstaticvoidmain(Stringargs[]){System.out.println(输入正方形的边长和圆的半径:);Scannersc=newScanner(System.in);Squares=newSquare(sc.nextDouble());Circlec=newCircle();c.setRadius(sc.nextDouble());sc.close();if(s.getLength()c.getRadius())System.out.println(Math.abs(c.getCC()-s.getSA()));elseSystem.out.println(Math.abs(c.getCA()-s.getSC()));}}实验二:1.定义一个人类(Person),声明在包app.father,它包含成员变量:privateStringname;privatecharsex;构造方法:通过有参重载的构造方法初始化成员变量;成员方法:publicvoidprint(){//控制台输出此类姓名,性别详细信息}2.定义学生类(Student)继承Person类,声明在包app.son,子类的成员变量包括成员变量:学号(ID)构造方法:带参数的构造方法,初始化所有拥有的成员变量成员方法:publicvoidprint(){//控制台输出此类详细信息}3.定义测试类,生成在包app.test(仅包含main方法)要求:通过运行时多态实现调用Student对象的print方法(Personstu=newStudent(实参);stu.print())。packageapp.father;publicclassPerson{privateStringname;privatecharsex;publicPerson(){}publicPerson(Stringn,chars){name=n;sex=s;}publicvoidprint(){System.out.println(姓名:+name+性别:+sex);}publicStringgetName(){returnname;}publicchargetSex(){returnsex;}}packageapp.son;importapp.father.Person;publicclassStudentextendsPerson{privateStringID;publicStudent(Stringn,charsex,Stringid){super(n,sex);ID=id;}publicvoidprint(){System.out.println(姓名:+getName()+性别:+getSex()+ID:+ID);}}packageapp.test;importapp.father.Person;importapp.son.Student;publicclassTest{publicstaticvoidmain(Stringargs[]){Personstu=newStudent(小桀,'男',74576);stu.print();}}实验内容一:(1)设计一个复数运算接口OperatorListener,定义抽象方法Complexadd(Complexz)(2)设计一个复数类Complex,此复数类实现OperatorListener接口,该类定义私有属性:实部,虚部方法:返回此复数的详细信息StringtoString(),输出格式例如3+4i实现接口里的Complexadd(Complexstu)抽象方法,实现复数的相加构造方法:有参构造方法初始化成员变量提示:根据需要可自行添加成员方法(3)设计测试类Test,主函数要求产生两个复数对象,对象的成员变量值来自命令行参数,调用add方法,实现两个复数的相加,把相加的结果值写入到c:/ComputeInfo.txt文件中,并处理所有的异常信息。源程序:importjava.io.*;interfaceOperatorListener{Complexadd(Complexz);}classCompleximplementsOperatorListener{privatedoubles;privatedoublex;publicComplex(){};publicComplex(doubles,doublex){this.s=s;this.x=x;}publicComplexadd(Complexz){Complexk=newComplex(s+z.s,x+z.x);returnk;}publicStringtoString(){if(s!=0&&x!=0){if(x0)returns+++x+i;elsereturns++x+i;}elseif(s==0&&x!=0)returnx+i;elseif(s!=0&&x==0)returns+;elsereturn0;}}publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{FileWriterfile=null;try{Complexstu1=newComplex(Double.parseDouble(args[0]),Double.parseDoubleComplexstu2=newComplex(Double.parseDouble(args[2]),Double.parseDoublefile=newFileWriter(c:/ComputeInfo.txt);file.write(stu1.add(stu2).toString());System.out.println(输出完成.);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(没有输入任何数据或数据不足四个);}catch(NumberFormatExceptione){System.out.println(输入的数据应为字符);}catch(IOExceptione){System.out.println(输入输出错误);}finally{if(file!=null)file.close();}}}
本文标题:java复习题
链接地址:https://www.777doc.com/doc-6185550 .html