您好,欢迎访问三七文档
实验题1阅读如下程序,完成思考题。classCCircle{doublepi;doubleradius;doublegetRadius(){returnradius;//返回radius}voidsetCircle(doubler,doublep)//创建setCircle方法,设置pi及radius大小{pi=p;radius=r;}}publicclassEx2_1{publicstaticvoidmain(Stringargs[]){CCirclecir1=newCCircle();//实例化对象cir1.setCircle(2.0,3.1416);//调用setCricle方法System.out.println(radius=+cir1.getRadius());}}[基本要求]运行程序并观察运行结果。运行结果为:radius=2.0[思考问题]试述程序中主要语句的作用(含注释的代码)。实验题2设计一个用来描述汽车的类Car,使用类的非静态成员变量来表示汽车的车主姓名name、当前的速率speed:1.创建构造函数为两个成员变量赋初值。2.使用类的非静态成员方法来表示改车主姓名changeName操作,并通过该方法显示修改后的车主名称。3.使用类的非静态成员方法来表示改变汽车的速率changSpeed操作,并通过该方法显示修改后的车速。4.使用类的非静态成员方法来表示停车stop操作,并通过该方法显示停车后的车速。5.创建一个Car类的对象,初始状态时,车主名称是自己的名字,speed=0。6.分别调用这三个方法,更改车名为朋友的名字,车速为20,停车车速为0,并且得到如下的结果:publicclassTest2{publicstaticvoidmain(String[]args){Carcar=newCar();car.setName(好友);car.setSpeed(20);System.out.println(当前速度为:+car.getSpeed());System.out.println(车主为:+car.getName());System.out.println(停车后,车速为:+car.stop());car.changName(好人啊);car.changSpeed(50);System.out.println(当前速度为:+car.getSpeed());System.out.println(车主为:+car.getName());System.out.println(停车后,车速为:+car.stop());}}classCar{Stringname;doublespeed;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicdoublegetSpeed(){returnspeed;}publicvoidsetSpeed(doublespeed){this.speed=speed;}publicStringchangName(Stringname){this.name=name;returnthis.name;}publicdoublechangSpeed(doublespeed){this.speed=speed;returnthis.speed;}publicdoublestop(){speed=0;returnspeed;}}实验题3定义一个类MyProgram,包含两个属性:一个是private的整型属性data、一个是private的String类型的属性str,封装这两个属性的四个方法setData()和getData()、setStr()和getStr();将这两个属性转变为字符串的方法是toStr()。编写程序,使用MyProgram类,实现数据的访问和修改,并调用toStr()方法显示该类的属性。[基本要求]编写完整程序。[思考问题]试述程序中各个方法的作用。publicclassTest3{publicstaticvoidmain(String[]args){MyProgramprogram=newMyProgram();program.setData(20);program.setStr(bac);System.out.println(getData():+program.getData());System.out.println(getStr():+program.getStr());System.out.println(toStr():+program.toStr());}}classMyProgram{privateintdata;privateStringstr;publicvoidsetData(intdata){this.data=data;}publicintgetData(){//System.out.println(+data);returndata;}publicvoidsetStr(Stringstr){this.str=str;}publicStringgetStr(){returnstr;}publicStringtoStr(){Stringstr_one;str_one=str+data;returnstr_one;}}setData():设置data属性getData():获取data属性setStr():设置str属性getStr():获取str属性toStr():将data和str转换为字符串实验题4义一个类实现银行帐户的概念,包括的变量有帐号和存款余额,包括的方法有存款、取款、查询余额和”显示帐号”。定义主类,创建帐户类的对象,并完成相应操作。提示:关键代码如下:publicintgetleftmoney(){returnleftmoney;}publicvoidsavemoney(doublemoney){leftmoney+=money;}publicvoidgetmoney(doublemoney){if(money=leftmoney)leftmoney-=money;elseSystem.out.println(只能取:+leftmoney);}…bankaccountba=newbankaccount(888123,1000);ba.savemoney(21000);System.out.println(存入21000元后余额为:+ba.getleftmoney());ba.getmoney(11500);System.out.println(11500元后余额为:+ba.getleftmoney());publicclassTest4{publicstaticvoidmain(String[]args){BankAccountba=newBankAccount(888123,1000);ba.savemoney(21000);System.out.println(存入21000元后余额为:+ba.getleftmoney());ba.getmoney(11500);System.out.println(取款11500元后余额为:+ba.getleftmoney());}}classBankAccount{privateintleftmoney;privateintaccount;publicintgetAccount(){returnaccount;}publicintgetleftmoney(){returnleftmoney;}publicvoidsavemoney(doublemoney){leftmoney+=money;}publicvoidgetmoney(doublemoney){if(money=leftmoney){leftmoney-=money;}else{System.out.println(只能取:+leftmoney);}}BankAccount(intaccount,intleftmoney){this.account=account;this.leftmoney=leftmoney;}}实验题5有图形类的父类Shape,参照圆Circle类补充完整正方性Square和三角形Triangle类,并分析运行结果。packageTestFive;classShape{voiddraw(){}voiderase(){}}classCircleextendsShape{voiddraw(){System.out.println(Circle.draw());}voiderase(){System.out.println(Circle.erase());}}classSquareextendsShape{voiddraw(){System.out.println(Squre.draw());}voiderase(){System.out.println(Square.erase());}}classTriangleextendsShape{voiddraw(){System.out.println(Triangle.draw());}voiderase(){System.out.println(Triangle.erase());}}publicclassShapes{publicstaticShaperandShape(){switch((int)(Math.random()*3)){default://Toquietthecompilercase0:returnnewCircle();case1:returnnewSquare();case2:returnnewTriangle();}}publicstaticvoidmain(String[]args){Shape[]s=newShape[3];//Fillupthearraywithshapes:for(inti=0;is.length;i++)s[i]=randShape();//Makepolymorphicmethodcalls:for(inti=0;is.length;i++)s[i].draw();}}实验题6有两个类:MobileManagement和Mobile,分别描述如图所示两部手机名称及价格,类MobileManagement在包cn.edu.nwsuaf.jp.p3中,而Mobile在包cn.edu.nwsuaf.jp.p3.data中。它们代码如下。运行MobileManagement.java,你应该看到如图所示结果。[基本要求]在空白处填写相关代码并修改上面程序,使程序能够显示两部手机的价格和数量,运行结果如图所示。E365,1780RMBM330,1450RMB手机及价格图程序Mobile.java源代码:publicclassMobile{/**Holdsthenameofthemobile.*/privateStringname;/**Holdsthepriceofthemobile.*/privatefloatprice;/**Createsanewmobileobject.*/publicMobile(Stringname,floatprice){this.name=name;this.price=price;}/**Getsthenameofthemobile.*/publicStringgetName(){returnname;}/**Getsthepriceofthemobile.*/PublicfloatgetPrice(){returnprice;}}程序MobileManagement.java源代码:importjavax.swing.JOptionPane;publicclassMobileManagement{/**Definestheentrypoi
本文标题:JAVA实验二报告
链接地址:https://www.777doc.com/doc-6291288 .html