logo资料库

Java面向对象编程练习题答案.doc

第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
资料共26页,剩余部分请下载后查看
【练习题】01.类的成员变量: 猜数字游戏:一个类 A 有一个成员变量 v,有一个初值 100。定义一个类,对 A 类的成员变量 v 进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜 测成功。 import java.util.*; class A{ int v = 100; A(){ this.v = v; } } public class b01 { public static void main(String args[]){ A a = new A(); Scanner intput = new Scanner(System.in); int intputvalue = intput.nextlnt(); if(intputvalue>a.v) System.out.println("你的输入大于这个值"); if(intputvalue
this.speed=speed; } void speedDown(){ speed = speed-1; this.speed=speed; } } public class b01 { public static void main(String args[]){ 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 类定义构造方法,以方便创建对象时初始化成员变量。 再定义 diaplay 方法,用于将时间信息打印出来。 为 MyTime 类添加以下方法: addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 class MyTime { private 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; } 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 = minute-min; } void subHour(int hou){ hour = hour-hou; } void Test(){ if(hour<=23&hour>=0&minute<=59&minute>=0&second<=59&second>=0) System.out.println("\nTrue\n"); System.out.println("\nFalse\n"); else } } public class b01 { public 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(); } } 【练习题】04.构造方法 编写 Java 程序,模拟简单的计算器。 定义名为 Number 的类,其中有两个整型数据成员 n1 和 n2,应声明为私有。编 写构造方法,赋予 n1 和 n2 初始值,再为该类定义加(addition)、减(subtration)、 乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行
private int n1; private int n2; public Number(int n1,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.println("n1/n2="+equal); } public class b01 { } } public static void main(String args[]){ Number num = new Number(6,3); num.division(); 加、减、乘、除的运算。 在 main 方法中创建 Number 类的对象,调用各个方法,并显示计算结果。 class Number { } 【练习题】05.构造方法: 编写 Java 程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。 定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年 龄打印出来。 在 main 方法中创建人类的实例,然后将信息显示。 class Person { private String name; private int age;
public Person(String name,int age){ this.name = name; this.age = age; } void display(){ System.out.println("姓名——>"+name+"\n 年龄——>"+age); } } public class b01 { } } public static void main(String args[]){ Person per = new Person("奥巴马",20); per.display(); 【练习题】06.get 方法和 set 方法 定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供 该成员的 getXXX()和 setXXX()方法 提示:假设有 private String name;则有 public void setName(String name){ this.name = name; } public String getName(){ return this.name; } class Person { private 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 b01
{ } public static void main(String args[]){ Person per = new Person("奥巴马"); per.getName(); per.getInfo(); } 【练习题】07.构造方法与重载 为“无名的粉”写一个类:class WuMingFen 要求: 1.有三个属性:面码:String theMa 粉的分量(两):int quantity 是否带汤:boolean likeSoup 2.写一个构造方法,以便于简化初始化过程,如: WuMingFen f1 = new WuMingFen("牛肉",3,true); 3.重载构造方法,使得初始化过程可以多样化: WuMingFen f2 = new WuMingFen("牛肉",2); 4.如何使得下列语句构造出来的粉对象是酸辣面码、2 两、带汤的? WuMingFen f3 = new WuMingFen(); 5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性 打印在控制台上。 class WuMingFen { System.out.println("面码:"+theMa+"\n 粉的份量:"+quantitu+"\n 是否带 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,boolean likeSoup){ this(theMa,quantitu); this.likeSoup = likeSoup; } public void check(){ 汤:"+likeSoup); } } public class b01 { public static void main(String args[]){
WuMingFen 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(小汽车)类继承于 Vehicles 类,增加 int 型成员属性 seats(座位),还 应增加成员方法 showCar(在控制台显示小汽车的信息),并编写构造方法。 编写 Truck(卡车)类继承于 Vehicles 类,增加 float 型成员属性 load(载重), 还应增加成员方法 showTruck(在控制台显示卡车的信息),并编写构造方法。 在 main 方法中测试以上各类。 class Vehicles { private String brand; private String color; public Vehicles(String brand,String color){ this.brand = brand; this.color = color; System.out.println("我已经开动了"); System.out.println("商标:"+brand+"\n 颜色:"+color); } void run(){ } void showInfo(){ } } 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);
} } 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 b01 { public 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(); } } 【练习题】09.构造方法与重载 定义一个网络用户类,要处理的信息有用户 ID、用户密码、email 地址。在建立 类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户 ID 和用户 密码时必须的,缺省的 email 地址是用户 ID 加上字符串"@gameschool.com" class NetUser { private String ID; private String key; private String emailDress; public NetUser(String ID,String key){ this.ID = ID; this.key = key; this.emailDress = ID+"@gameschool.com"; } void output(){ System.out.println("ID : "+ID+"\n 用 户 密 码 "+key+"\n 用 户 地 址
分享到:
收藏