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