1
定义一个第1代手机类(Phone1G) (5分)
要求包含以下属性和方法:属性:电话号码 (5分)
构造方法:设置属性的值(保证电话号码长度为11或8位)。 (10分)
成员方法:定义属性电话号码的getter、setter访问器; (10分)
定义拨打电话方法call(String s):通过参数传递要拨打的电话号码,如果参数的长度是8位或11位,则输出:拨打电话,通话中….,否则输出:拨打的号码无效 (10分)
定义挂机方法EndCall():输出“通话结束!” (10分)
定义一个第2代手机类(Phone2G)
继承第1代手机类(Phone1G) (10分)
并新增成员方法拍照tackPictures():输出“拍照!”。 (10分)
定义测试类TestPhone
编写main方法,在main方法中分别建立第1代和第2代手机类对象,(10分)
并分别调用方法实现拨打电话、挂断电话、拍照等功能。 (10分)
把 程序的代码 和 运行结果 粘贴在下方的答题框中。 (10分)
代码
package game;
public class Java上机作业4月24日_1 {
public static void main(String[] args) {
Phone1G oPhone1g = new Phone1G("110");
oPhone1g.setNumber("247144660");
oPhone1g.call("268594");
Phone2G tPhone2g = new Phone2G("7539514568");
tPhone2g.call("1352471446");
tPhone2g.EndCall();
tPhone2g.tackPictures();
}
}
class Phone1G{
String number;
public Phone1G(String number) {
if(number.length() >= 8 && number.length() <= 11) this.number = number;
else System.out.println("不符合条件!");
}
public String getNumber() { return number; }
public void setNumber(String number) { this.number = number; }
public void call(String s) {
if(s.length() >=8 && s.length() <= 11) System.out.println("拨打电话,通话中…");
else System.out.println("拨打的号码无效");
}
public void EndCall() { System.out.println("通话结束!"); }
}
class Phone2G extends Phone1G{
public Phone2G(String number) { super(number); }
public void tackPictures() {System.out.println("拍照");}
}
2
定义一个汽车类(Car)
要求包含以下属性和方法: (5分)属性:型号、车牌、时速 (10分)
构造方法:有参数,通过参数传递设置属性的值。 (10分)
成员方法:定义所有属性的getter、setter访问器; (10分)
定义方法驾驶drive(int m):传入参数时间m(分为单位),利用时速计算并返回行驶的距离。 (10分)
定义方法print():输出汽车型号、车牌信息。 (5分)
定义Car的子类Taxi(出租车): (10分)
新增属性:fare(每公里单价),startPrice(起步价) (10分)
定义构造方法:有参,调用父类的构造方法设置从父类继承的属性的值,设置新属性price、起步价的值。 (10分)
新增成员方法pay(int m):传入参数时间m,调用父类的drive方法求出行驶的公里数,然后按以下公式计算并返回费用:
(3公里以内为起步价) 费用=起步价+(里程数-3公里)*每公里单价 (10分)
定义测试类CarDemo:
编写main方法,在main方法中建立Taxi类对象,并调用其pay方法,传入时间计算某次打车的价钱,并把结果输出。 (10分)
代码
package game;
public class Java上机作业4月24日_2 {
public static void main(String[] args) {
Taxi aTaxi = new Taxi("10086", "AE86", 50, 7, 3);
System.out.println(aTaxi.pay(30));
}
}
class Car{
String number,name;
int speed;
public Car(String number, String name, int speed) {
super();
this.number = number;
this.name = name;
this.speed = speed;
}
public String getName() { return name; }
public String getNumber() { return number; }
public int getSpeed() { return speed; }
public void setName(String name) { this.name = name; }
public void setNumber(String number) { this.number = number; }
public void setSpeed(int speed) { this.speed = speed; }
public int drive(int m) { return m*this.speed; }
public void print() { System.out.println("车型:"+this.name+"\t车牌:"+this.number); }
}
class Taxi extends Car{
int fare,starPrize;
public Taxi(String number, String name, int speed, int fare, int starPrize) {
super(number, name, speed);
this.fare = fare;
this.starPrize = starPrize;
}
public int pay(int m) {
int k = this.drive(m);
if(k <= 3) return this.starPrize;
else return this.starPrize + (k - 3)*this.fare;
}
}