Java 上机作业2020.4.24

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上机作业424日_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上机作业424日_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;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章