Java面向对象编程练习题问题详解0

上传人:仙*** 文档编号:86525654 上传时间:2022-05-07 格式:DOC 页数:26 大小:126KB
收藏 版权申诉 举报 下载
Java面向对象编程练习题问题详解0_第1页
第1页 / 共26页
Java面向对象编程练习题问题详解0_第2页
第2页 / 共26页
Java面向对象编程练习题问题详解0_第3页
第3页 / 共26页
资源描述:

《Java面向对象编程练习题问题详解0》由会员分享,可在线阅读,更多相关《Java面向对象编程练习题问题详解0(26页珍藏版)》请在装配图网上搜索。

1、word【练习题】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(i

2、ntputvaluea.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; this.minute =

6、 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 min) minute =

7、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); b.diaplay(); b.

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

9、id 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.println(n1/n2=+equal);public class b01public

10、 static void main(String args) Number num = new Number(6,3); num.division();【练习题】05.构造方法:编写Java程序,用于显示人的和年龄。定义一个人类Person,该类中应该有两个私有属性,name和年龄age。定义构造方法,用来初始化数据成员。再定义显示display方法,将和年龄打印出来。在main方法中创建人类的实例,然后将信息显示。class Personprivate String name;private int age; public Person(String name,int age)this.na

11、me = 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();定义一个类,该类有一个私有成员变量,通过构造方法将其进展赋初值,并提供该成员的getXXX()和setXXX()方法提示:假设有private String name;如此有public void setName(String name)this.name

12、 = name;public String getName()return this.name;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()System.out.println(名字:+name);public class b01public static void main(String args)Per

13、son per = new Person(奥巴马);per.getName();per.getInfo();为“无名的粉写一个类:class WuMingFen 要求:1.有三个属性:面码:String theMa 粉的分量(两):int quantity 是否带汤:boolean likeSoup2.写一个构造方法,以便于简化初始化过程,如:WuMingFen f1 = new WuMingFen(牛肉,3,true);3.重载构造方法,使得初始化过程可以多样化:WuMingFen f2 = new WuMingFen(牛肉,2);4.如何使得如下语句构造出来的粉对象是酸辣面码、2两、带汤的

14、?WuMingFen f3 = new WuMingFen();5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。class WuMingFen String theMa; int quantitu; boolean likeSoup; public WuMingFen() public WuMingFen(String theMa,int quantitu) this.theMa = theMa; this.quantitu = quantitu; public WuMingFen(String theMa,int quantitu,boolea

15、n 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)WuMingFen f1 = new WuMingFen(牛肉,3,true);WuMingFen f2 = new WuMingFen(牛肉,2);WuMingFen f3 = new WuMingFen()

16、;f1.check();f2.check();f3.check();【练习题】08.构造方法的重载:定义一个名为Vehicles交通工具的基类,该类中应包含String类型的成员属性brand商标和color颜色,还应包含成员方法run行驶,在控制台显示“我已经开动了和showInfo显示信息,在控制台显示商标和颜色,并编写构造方法初始化其成员属性。编写Car小汽车类继承于Vehicles类,增加int型成员属性seats座位,还应增加成员方法showCar在控制台显示小汽车的信息,并编写构造方法。编写Truck卡车类继承于Vehicles类,增加float型成员属性load载重,还应增加成员

17、方法showTruck在控制台显示卡车的信息,并编写构造方法。在main方法中测试以上各类。class Vehiclesprivate String brand;private String color;public Vehicles(String brand,String color)this.brand = brand;this.color = color; void run()System.out.println(我已经开动了);void showInfo()System.out.println(商标:+brand+n颜色:+color);class Car extends Vehicl

18、es 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);class Truck extends Vehicles private float load; public Truck(String brand,String color,float load) super(brand,color); this.load =

19、load; void showTruck() super.showInfo(); System.out.println(载重:+load); public class b01public static void main(String args) Vehicles f1 = new Vehicles(宝马,白色); Car f2 = new Car(法拉利,黑色,4); Truck f3 = new Truck(解放,绿色,5000); f1.run(); f1.showInfo(); f2.run(); f2.showCar(); f3.run(); f3.showTruck();定义一个网

20、络用户类,要处理的信息有用户ID、用户密码、email地址。在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串gameschool.class NetUserprivate String ID;private String key;private String emailDress;public NetUser(String ID,String key) this.ID = ID; this.key = key; this.emailDress = ID+gameschool.;void output()Syste

21、m.out.println(ID:+ID+n用户密码+key+n用户地址+emailDress);public class b01public static void main(String args)NetUser user = new NetUser(5566,yan);user.output();【练习题】10.构造方法与重载、包编写Addition类,该类中应包含一组实现两数相加运算的重载方法。实现加法运算的方法,应承受两个参数即加数和被加数,方法将两个参数进展加法运算后,返回相加结果。考虑可能针对不同的数据类型进展计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串

22、。在main方法中创建Addition类的实例,分别调用重载方法测试其效果。应将Addition类打入到包中,以自己名字的拼音为包命名。package yan.cong; class Additionpublic Addition() void add(int a,int 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.print

23、ln(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; System.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);将上次练习题

24、三中编写的MyTime类打到以自己名字的拼音命名的包中,并为该类重载一组构造方法,以方便使用者能够以多种形式初始化该类的实例。package yan.cong;class MyTimeprivate int hour;private 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.minu

25、te = 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 min) minut

26、e = 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); b.diaplay()

27、; b.Test(); 建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。并通过不同的构造方法创建事例。 至少要求:汽车能够加速,减速,停车。 要求:命名规,代码表现层次,有友好的操作提示。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(汽车

28、颜色:+color);public Car(int tires,String color,int load)this(tires);this.color = color;System.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 b0

29、1public static void main(String args)Car a = new Car(6);Car b = new Car(4,白色,4000); a.upSpeed();b.stop();创建一个类,为该类定义三个构造函数,分别执行如下操作: 1、传递两个整数值并找出其中较大的一个值 2、传递三个double值并求出其乘积 3、传递两个字符串值并检查其是否一样 4、在main方法中测试构造函数的调用class Checkpublic Check(int a ,int b) int c=Math.max(a,b); System.out.println(较大值为:+c);p

30、ublic Check(double a,double b,double c)double d = a*b*c;System.out.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 Che

31、ck(ac,ab); 【练习题】14.Static关键字与普通变量的区别:创建一个名称为StaticDemo的类,并声明一个静态变量和一个普通变量。对变量分别赋予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.p

32、rintln(m.getInfo();【练习题】15.继承:创建一个名称为MainPackage的包,使它包含MainClass和MainSubClass类。MainClass类应当包含变量声明,其值从构造函数中输出。MainSubClass类从MainClass派生而来。试执行如下操作:创建一个名称为SamePackage的类,使它导入上述包,并创建一个MainSubClass类的对象。package MainPackage; class MainClass String str; public MainClass(String str) this.str = str; System.out

33、.println(str); class MainSubClass extends MainClass public MainSubClass(String str) super(str); System.out.println(*); import MainPackage.MainSubClass;class SamePackage MainSubClass b = new MainSubClass(a;ledkfjl);【练习题】16.包、继承、构造函数创建一个名称为MainPackage的包,使它包含MainClass和MainSubClass类。MainClass类应当包含变量声明,其

34、值从构造方法中输出。MainSubClass类从MainClass派生而来。试执行如下操作:创建一个名称为SamePackage的类,使它导入上述包,并创建一个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 b

35、01public static void main(String args)Son e = new Son(4);【练习题】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.

36、tires = tires; this.color = color; this.load = load; this.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 Aircond

37、ition; boolean CD; public Car(int tires,String color,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(轮胎

38、数:+tires+n颜色:+color+n车身重量:+load+tn速度+speed+Km/hn有空调:+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();设计一个能细分为矩形、三角形、圆形和椭圆形的“图形类。使用继承将这些图形分类,找出能作为基类局部的共同特征(如校准点)和方法(如画法、初始化),并看看这些图形是否能进一步划分为子类。此题只考虑实现思想,不考虑具体

39、实现的细节,实现方式可自由发挥。import java.awt.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.leng

40、th = length;this.width = width; 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圆形半径:+

41、radius);public class b01public 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类中,应

42、当显示“四轮车信息;而在Motorbike类中,应当显示“双轮车信息。创建另一个带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 exte

43、nds Vehicleint c;int 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(

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

45、实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。interface Vehiclepublic abstract String start(boolean a);public abstract String stop(boolean b);class Bike implements Vehiclepublic String start(boolean a) return a+车启动了;public String stop(boolean b)return b+

46、车停止了;class 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(Bus

47、n+n.start(true)+n+n.stop(false);【练习题】23.接口:创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。【练习题】24.抽象类、继承、接口综合设计一个系统:XXX门的实现过程:流程:设计一抽象的门Door,那么对于这门来说,就应该拥有所有门的共性,开门openDoor()和关门closeDoor

48、();然后对门进展另外的功能设计,防盗-theftproof()、防水-waterproof()、防弹-bulletproof()、防火、防锈要求:利用继承、抽象类、接口的知识设计该门abstract class Doorpublic abstract void openDoor();public abstract void closeDoor();class realDoor extends Door public void openDoor() System.out.println(开门n); public void closeDoor()System.out.println(关门n);

49、public void theftproof()System.out.println(防盗n); public void waterproof()System.out.println(防水n); public void bulletproof()System.out.println(防弹n);public class b01public static void main(String args)realDoor d = new realDoor();d.openDoor();d.closeDoor();d.theftproof();d.waterproof();d.bulletproof();

50、【练习题】25.抽象类、继承、接口综合设计一个系统:xxx纯净水生产线目前流程是:从某个地方把水取出来,然后经过缓冲,过滤,加热和放糖的步骤abstract 水public void 水();interface 过滤interface 缓冲interface 加热interface 放糖class 纯净水1 extends 水 imps 过滤,缓冲class 纯净水2 extends 水 imps 缓冲class 纯净水2 extends 水 imps 过滤。abstract class Waterpublic abstract void Water(); interface Filterpu

51、blic abstract void Filter();interface Bufferpublic abstract void Buffer();interface Heatpublic abstract void Heat();interface Sugarpublic abstract void Sugar();class Water1 extends Water implements Filter,Bufferpublic void Water()System.out.println(水1的制造过程:n);public void Filter()System.out.println(水

52、已经过滤n);public void Buffer()System.out.println(水已经缓冲n);class Water2 extends Water implements Bufferpublic void Water()System.out.println(水2的制造过程:n); public void Buffer()System.out.println(水已经缓冲n);class Water3 extends Water implements Filter public void Water()System.out.println(水3的制造过程:n);public void

53、 Filter()System.out.println(水已经过滤n);public class b01public static void main(String args)Water1 a = new Water1();Water2 b = new Water2();Water3 c = new Water3();a.Water();a.Buffer();a.Filter();b.Water();b.Buffer();c.Water();c.Filter();定义一个抽象的Role类,有,年龄,性别等成员变量1. 要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有),再通过GetX

54、XX()和SetXXX()方法对各变量进展读写。具有一个抽象的play()方法,该方法不返回任何值,同时至少定义两个构造方法。Role类中要表现出this的几种用法。2. 从Role类派生出一个Employee类,该类具有Role类的所有成员构造方法除外,并扩展salary成员变量,同时增加一个静态成员变量“职工编号ID。同样要有至少两个构造方法,要表现出this和super的几种用法,还要求覆盖play()方法,并提供一个final sing()方法。3. Manager类继承Employee类,有一个final成员变量vehicle4. 在main()方法中制造Manager和Employee对象,并测试这些对象的方法abstract class Roleprivate int age;private String name; public Role(int a)this.setAge(a);

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!