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;
}
}