Java面向对象编程练习题答案0_第1页
Java面向对象编程练习题答案0_第2页
Java面向对象编程练习题答案0_第3页
Java面向对象编程练习题答案0_第4页
Java面向对象编程练习题答案0_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、.【练习题】01.类的成员变量:猜数字游戏:一个类a有一个成员变量v,有一个初值100。定义一个类,对a类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。import java.util.*;class a int v = 100; a() this.v = v; public class b01public static void main(string args)a a = new a();scanner intput = new scanner(system.in); int intputvalue = intput.nextlnt(); if(intputv

2、aluea.v)system.out.println(你的输入大于这个值);if(intputvaluea.v)system.out.println(你的输入小于这个值);if(intputvalue=a.v)system.out.println(猜测成功);精品.【练习题】02.类的成员变量:请定义一个交通工具(vehicle)的类,其中有:属性:速度(speed),体积(size)等等方法:移动(move(),设置速度(setspeed(int speed),加速speedup(),减速speeddown()等等.最后在测试类vehicle中的main()中实例化一个交通工具对象,并通过方

3、法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。class vehicleint speed; int size; void move() ; void setspeed(int speed) this.speed = speed; void speedup() speed = speed+1; this.speed=speed; 精品. void speeddown() speed = speed-1; this.speed=speed; public class b01 public static void main(string args

4、) vehicle a = new vehicle(); a.setspeed(55);a.size = 80;a.speedup();system.out.println(speed:+a.speed+nsize:+a.size); 【练习题】03.类的成员变量与方法、构造方法在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。定义名为mytime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。为mytime类定义构造方法,以方便创建对象时初始化成

5、员变量。再定义diaplay方法,用于将时间信息打印出来。为mytime类添加以下方法:精品.addsecond(int sec)addminute(int min)addhour(int hou)subsecond(int sec)subminute(int min)subhour(int hou)分别对时、分、秒进行加减运算。class mytimeprivate int hour;private int minute;private int second;public mytime(int hour,int minute,int second) this.hour = hour; thi

6、s.minute = minute; this.second = second;void diaplay() system.out.println(时间:+hour+:+minute+:+second); void addsecond(int sec)精品. second = second+sec; void addminute(int min) minute = minute+min; void addhour(int hou) hour = hour+hou; void subsecond(int sec) second = second-sec; void subminute(int m

7、in) minute = minute-min; void subhour(int hou) hour = hour-hou; void test() if(hour=0&minute=0&second=0) system.out.println(ntruen); else system.out.println(nfalsen);精品. public class b01public static void main(string args) mytime b = new mytime(11,4,55); b.subhour(5); b.subminute(5); b.subsecond(2);

8、 b.diaplay(); b.test(); 【练习题】04.构造方法编写java程序,模拟简单的计算器。定义名为number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。在main方法中创建number类的对象,调用各个方法,并显示计算结果。class number精品.private int n1;private int n2;public number(int n

9、1,int n2) this.n1 = n1; this.n2 = n2;void addition() int equal = n1+n2; system.out.println(n1+n2=+equal);void subtration() int equal = n1-n2; system.out.println(n1-n2=+equal);void multiplication() int equal = n1*n2; system.out.println(n1*n2=+equal);void division() int equal = n1/n2; system.out.print

10、ln(n1/n2=+equal);精品.public class b01public static void main(string args) number num = new number(6,3); num.division();【练习题】05.构造方法:编写java程序,用于显示人的姓名和年龄。定义一个人类(person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。在main方法中创建人类的实例,然后将信息显示。class personprivate string name;pr

11、ivate int age; public person(string name,int age) = name;this.age = age;精品.void display()system.out.println(姓名+name+n年龄+age); public class b01public static void main(string args)person per = new person(奥巴马,20);per.display();【练习题】06.get方法和set方法定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getxxx()和

12、setxxx()方法提示:假设有private string name;则有public void setname(string name) = name;public string getname()return ;精品.class personprivate string name;public person (string n)this.setname(n);public void setname(string n) name = n ;public string getname()return name;public void getinfo()sy

13、stem.out.println(名字:+name);public class b01public static void main(string args)person per = new person(奥巴马);per.getname();per.getinfo();精品.【练习题】07.构造方法与重载为“无名的粉”写一个类:class wumingfen 要求:1.有三个属性:面码:string thema 粉的分量(两):int quantity 是否带汤:boolean likesoup2.写一个构造方法,以便于简化初始化过程,如:wumingfen f1 = new wumingf

14、en(牛肉,3,true);3.重载构造方法,使得初始化过程可以多样化:wumingfen f2 = new wumingfen(牛肉,2);4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?wumingfen f3 = new wumingfen();5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。class wumingfen string thema; int quantitu; boolean likesoup; public wumingfen() public wumingfen(string thema,int quan

15、titu)精品. this.thema = thema; this.quantitu = quantitu; public wumingfen(string thema,int quantitu,boolean likesoup) this(thema,quantitu); this.likesoup = likesoup; public void check() system.out.println(面码:+thema+n粉的份量:+quantitu+n是否带汤:+likesoup); public class b01public static void main(string args)w

16、umingfen f1 = new wumingfen(牛肉,3,true);wumingfen f2 = new wumingfen(牛肉,2);wumingfen f3 = new wumingfen();f1.check();f2.check();f3.check();精品.【练习题】08.构造方法的重载:定义一个名为vehicles(交通工具)的基类,该类中应包含string类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showinfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。编写car(

17、小汽车)类继承于vehicles类,增加int型成员属性seats(座位),还应增加成员方法showcar(在控制台显示小汽车的信息),并编写构造方法。编写truck(卡车)类继承于vehicles类,增加float型成员属性load(载重),还应增加成员方法showtruck(在控制台显示卡车的信息),并编写构造方法。在main方法中测试以上各类。class vehiclesprivate string brand;private string color;public vehicles(string brand,string color)this.brand = brand;this.co

18、lor = color; void run()system.out.println(我已经开动了);精品.void showinfo()system.out.println(商标:+brand+n颜色:+color);class car extends vehicles private int seats; public car(string brand,string color,int seats)super(brand,color);this.seats = seats;void showcar()super.showinfo();system.out.println(座位:+seats)

19、;class truck extends vehicles private float load; public truck(string brand,string color,float load) super(brand,color); this.load = load;精品. void showtruck() super.showinfo(); system.out.println(载重:+load); public class b01public static void main(string args) vehicles f1 = new vehicles(宝马,白色); car f

20、2 = new car(法拉利,黑色,4); truck f3 = new truck(解放,绿色,5000); f1.run(); f1.showinfo(); f2.run(); f2.showcar(); f3.run(); f3.showtruck();【练习题】09.构造方法与重载定义一个网络用户类,要处理的信息有用户id、用户密码、email地址。在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户id和用户密码时必须的,缺省的email地址是用户id加上字符串精品.class netuserprivate string id;privat

21、e string key;private string emaildress;public netuser(string id,string key) this.id = id; this.key = key; this.emaildress = id+;void output()system.out.println(id:+id+n用户密码+key+n用户地址+emaildress);public class b01public static void main(string args)netuser user = new netuser(5566,yan);us

22、er.output();精品.【练习题】10.构造方法与重载、包编写addition类,该类中应包含一组实现两数相加运算的重载方法。实现加法运算的方法,应接受两个参数(即加数和被加数),方法将两个参数进行加法运算后,返回相加结果。考虑可能针对不同的数据类型进行计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。在main方法中创建addition类的实例,分别调用重载方法测试其效果。应将addition类打入到包中,以自己名字的拼音为包命名。package yan.cong; class additionpublic addition() void add(int a,in

23、t b)int c = a+b;system.out.println(a+b=+c); void add(long a,long b) long c = a+b;system.out.println(a+b=+c); void add(float a,float b)精品.float c = a+b; system.out.println(a+b=+c); void add(double a,double b) double c = a+b; system.out.println(a+b=+c); void add(string a,string b) string c = a+b; syst

24、em.out.println(a+b=+c); public class b01public static void main(string args)addition m = new addition();addition n = new addition();m.add(5,6);n.add(hello,world);【练习题】11.构造方法与重载精品.将上次练习题三中编写的mytime类打到以自己名字的拼音命名的包中,并为该类重载一组构造方法,以方便使用者能够以多种形式初始化该类的实例。package yan.cong;class mytimeprivate int hour;priva

25、te int minute;private int second;public mytime(int hour,int minute,int second) this.hour = hour; this.minute = minute; this.second = second;public mytime(int minute,int second) this.minute = minute; this.second = second;void diaplay() system.out.println(时间:+hour+:+minute+:+second); void addsecond(in

26、t sec)精品. second = second+sec; void addminute(int min) minute = minute+min; void addhour(int hou) hour = hour+hou; void subsecond(int sec) second = second-sec; void subminute(int min) minute = minute-min; void subhour(int hou) hour = hour-hou; void test() if(hour=0&minute=0&second=0) system.out.prin

27、tln(ntruen); else system.out.println(nfalsen);精品. public class b01public static void main(string args) mytime b = new mytime(11,4,55); b.subhour(5); b.subminute(5); b.subsecond(2); b.diaplay(); b.test(); 【练习题】12.构造方法与重载建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。并通过不同的构造方法创建事例。 至少要求:汽车能够加速,减速,停车。 要求:命名规范,代码体现层次,有友好

28、的操作提示。class carprivate int tires;private string color;精品.private int load; public car(int tires)this.tires = tires;system.out.println(轮胎个数:+tires);public car(string color)this.color = color;system.out.println(汽车颜色:+color);public car(int tires,string color,int load)this(tires);this.color = color;syst

29、em.out.println(汽车颜色:+color);this.load = load;system.out.println(汽车重量:+load);void upspeed()system.out.println(车正在加速);void downspeed()system.out.println(车正在减速);精品.void stop()system.out.println(车已经停止了); public class b01public static void main(string args)car a = new car(6);car b = new car(4,白色,4000); a

30、.upspeed();b.stop();【练习题】13.构造方法与重载创建一个类,为该类定义三个构造函数,分别执行下列操作: 1、传递两个整数值并找出其中较大的一个值 2、传递三个double值并求出其乘积 3、传递两个字符串值并检查其是否相同 4、在main方法中测试构造函数的调用class check精品.public check(int a ,int b) int c=math.max(a,b); system.out.println(较大值为:+c);public check(double a,double b,double c)double d = a*b*c;system.out.

31、println(a*b*c = +d);public check(string a,string b)boolean c = a.equals(b); system.out.println(两字符串相等:+c);public class b01public static void main(string args)check m = new check(4,8);check n = new check(3.3,4.2,4.0);check p = new check(ac,ab); 【练习题】14.static关键字与普通变量的区别:精品.创建一个名称为staticdemo的类,并声明一个静态

32、变量和一个普通变量。对变量分别赋予10和5的初始值。在main()方法中输出变量值。class staticdemoprivate static int a=10;private int b=5;public string getinfo() return a=+a+nb=+b;public class b01public static void main(string args)staticdemo m = new staticdemo();system.out.println(m.getinfo();【练习题】15.继承:创建一个名称为mainpackage的包,使它包含mainclass

33、和mainsubclass类。mainclass类应当包含变量声明,其值从构造函数中输出。mainsubclass类从mainclass派生而来。试执行下列操作:创建一个名称为samepackage的类,使它导入上述包,并创建一个mainsubclass类的对象。精品.package mainpackage; class mainclass string str; public mainclass(string str) this.str = str; system.out.println(str); class mainsubclass extends mainclass public ma

34、insubclass(string str) super(str); system.out.println(*); import mainpackage.mainsubclass;class samepackage mainsubclass b = new mainsubclass(a;ledkfjl);【练习题】16.包、继承、构造函数创建一个名称为mainpackage的包,使它包含mainclass和mainsubclass类。mainclass类应当包含变量声明,其值从构造方法中输出。mainsubclass类从mainclass派生而来。试执行下列操作:创建一个名称为samepack

35、age的类,使它导入上述包,并创建一个mainsubclass类的对象。精品.【练习题】17.继承:创建一个父类和子类,父类有一个数据成员,子类继承父类的该数据成员,通过构造函数初始化并显示该数据成员的值。class fatherint a;public father(int a) this.a = a;class son extends fatherpublic son(int a)super(a);system.out.println(a=+a);public class b01精品.public static void main(string args)son e = new son(4

36、);【练习题】18.覆盖、继承建立一个汽车auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求: 汽车能够加速,减速,停车。 再定义一个小汽车类car,继承auto,并添加空调、cd等成员变量,覆盖加速,减速的方法、class autoint tires;string color;int load;int speed; public auto(int tires,string color,int load,int speed) this.tires = tires; this.color = color; this.load = load; th

37、is.speed = speed;void upspeed()system.out.println(加速了);精品.void downspeed()system.out.println(减速了);void stop()system.out.println(停车了);void getinfo()system.out.println(轮胎数:+tires+n颜色:+color+n车身重量:+load+n速度+speed);class car extends autoboolean aircondition; boolean cd; public car(int tires,string color

38、,int load,int speed,boolean aircondition,boolean cd) super(tires,color,load,speed); this.aircondition = aircondition; this.cd = cd;精品.void upspeed()system.out.println(开始加速了);void downspeed()system.out.println(开始减速了);void getinfo()system.out.println(轮胎数:+tires+n颜色:+color+n车身重量:+load+tn速度+speed+km/hn有

39、空调:+aircondition+n有cd:+cd);public class b01public static void main(string args)car m = new car(4,白色,50,100,false,true);m.downspeed();m.getinfo();【练习题】19.抽象类与继承设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些图形分类,找出能作为基类部分的共同特征(如校准点)和方法(如画法、初始化),并看看这些图形是否能进一步划分为子类。精品.本题只考虑实现思想,不考虑具体实现的细节,实现方式可自由发挥。import java.awt

40、.point;abstract class graph public point center; public graph(point center) this.center = center; public abstract void getinfo();class rectangle extends graphprivate int length;private int width;public rectangle(point center,int length,int width)super(center);this.length = length;this.width = width;

41、精品. public void getinfo()system.out.println(矩形:n+校准点:+center+n矩形长度:+length+n矩形宽度:+width);class circle extends graphprivate int radius;public circle(point center, int radius)super(center);this.radius = radius;public void getinfo()system.out.println(圆形:n+校准点:+center+n圆形半径:+radius);public class b01publ

42、ic static void main(string args)graph a = new rectangle(new point(8,8),4,7);a.getinfo();精品.graph b = new circle(new point(8,8),10);b.getinfo();【练习题】20.抽象类:创建一个vehicle类并将它声明为抽象类。在vehicle类中声明一个noofwheels方法,使它返回一个字符串值。创建两个类car和motorbike从vehicle类继承,并在这两个类中实现noofwheels方法。在car类中,应当显示“四轮车”信息;而在motorbike类中,

43、应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建car和motorbike的实例,并在控制台中显示消息。 abstract class vehicle public abstract string noofwheels();class car extends vehicle int a; int b; public car(int a,int b) this.a=a; this.b=b; 精品. public string noofwheels() return 四轮车n载重:+a+n体积:+b; class motorbike extends vehicleint c;in

44、t d;public motorbike(int c,int d)this.c = c;this.d = d;public string noofwheels()return 双轮车n长度:+c+n高度:+d;public class b01public static void main(string args)vehicle m = new car(88,44);system.out.println(m.noofwheels();vehicle n = new motorbike(3,4);精品.system.out.println(n.noofwheels(); 【练习题】21.抽象类:创

45、建一个vehicle类并将它声明为抽象类。在vehicle类中声明一个noofwheels方法,使它返回一个字符串值。创建两个类car和motorbike从vehicle类继承,并在这两个类中实现noofwheels方法。在car类中,应当显示“四轮车”信息;而在motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建car和motorbike的实例,并在控制台中显示消息。 【练习题】22.接口:创建一个名称为vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为bike和bus的类中实现vehicle接口。创建

46、一个名称为interfacedemo的类,在interfacedemo的main()方法中创建bike和bus对象,并访问start()和stop()方法。interface vehiclepublic abstract string start(boolean a);public abstract string stop(boolean b);class bike implements vehicle精品.public string start(boolean a) return a+车启动了;public string stop(boolean b)return b+车停止了;class

47、bus implements vehiclepublic string start(boolean a) return a+车启动了;public string stop(boolean b)return b+车停止了;public class interfacedemo public static void main(string args)bike m = new bike();system.out.println(biken+m.start(false)+n+m.stop(true);精品. bus n = new bus();system.out.println(busn+n.star

48、t(true)+n+n.stop(false);【练习题】23.接口:创建一个名称为vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为bike和bus的类中实现vehicle接口。创建一个名称为interfacedemo的类,在interfacedemo的main()方法中创建bike和bus对象,并访问start()和stop()方法。【练习题】24.抽象类、继承、接口综合设计一个系统:xxx门的实现过程:流程:设计一张抽象的门door,那么对于这张门来说,就应该拥有所有门的共性,开门opendoor()和关门closedoor();然后对门进行另外的功能设计,防盗-theftproof()、防水-waterproof()、防弹-bulletproof()、防火、防锈要求:利用继承、抽象类、接口的知识设计该门abstract class doorpublic abstract void opendoor();public abstract void closedoor();class realdoor extends door public void

温馨提示

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

评论

0/150

提交评论