慕課網-噠噠租車系統
//定義一個父類
public class Car {
String name;//車名
double rent;//租金
public String getName(){
return name;
}
public void setName(String carName){
this.name=carName;
}
public double getRent(){
return rent;
}
public void setRent(String carRent){
this.name=carRent;
}
}
//定義客車並繼承Car
public class PassengerCar extends Car {
private int peopleCapacity;//載客量
public PassengerCar(String name,double rent,int peopleCapacity){//構造方法可以在實例化對象時候直接這個對象進行賦值
this.name=name;
this.rent=rent;
this.peopleCapacity=peopleCapacity;
}
public int getPeopleCapacity(){
return peopleCapacity;
}
public void setPeopleCapacity(int peoplecapacity){
this.peopleCapacity=peoplecapacity;
}
}
//定義貨車並繼承Car
public class Truck extends Car {
private int cargoCapacity;//載貨量
public int getCargoCapacity(){
return cargoCapacity;
}
public void setCargoCapacity(int cargocapacity){
this.cargoCapacity=cargocapacity;
}
public Truck(String name,double rent,int cargoCapacity){//構造方法可以在實例化對象時候九尾這個對象進行賦值
this.name=name;//this.name是訪問成員變量
this.rent=rent;
this.cargoCapacity=cargoCapacity;
}
}
//定義一個測試類
import java.util.Scanner;
public class Test {
public static void main(String[] args){//定義一個類數組
Car[] car={new PassengerCar("奧迪",500,4),new PassengerCar("馬自達",400,4),new Truck("金龍",800,20),new Truck("松花江",400,4),new Truck("依維柯",1000,20)};
System.out.println("歡迎使用答答租車系統");
System.out.println("你是否要租車:1是 2否");
int peopleCapacity=0;
int cargoCapacity=0;
int totalRent=0;//總的租金
Scanner scan=new Scanner(System.in);
int input=scan.nextInt();//這兩句是讀取輸入值
if(input==1){
System.out.println("你可租車的類型及其價格表:");
System.out.print("序號\t\t汽車名稱\t\t租金\t\t容量\t\t\n");
int i=1;
for(Car Cars:car){
if(Cars instanceof PassengerCar){
System.out.println(" "+i+"\t\t"+Cars.getName()+"\t\t"+Cars.getRent()+"元/天\t"+((PassengerCar)Cars).getPeopleCapacity()+"人\t\t");
}else{
System.out.println(" "+i+"\t\t"+Cars.getName()+"\t\t"+Cars.getRent()+"元/天\t"+((Truck)Cars).getCargoCapacity()+"噸\t\t");
}
++i;
}
System.out.println("請輸入你要租車的數量:");
int count=scan.nextInt();
for(int j=0;j<count;j++){
System.out.println("請輸入您要選擇的第"+(j+1)+"輛車的序號");
int chooseNum=scan.nextInt();
System.out.println("你選擇的是第"+chooseNum+"號車型");
if(car[chooseNum-1] instanceof PassengerCar){
System.out.println(car[chooseNum-1].getName()+"\t\t"+car[chooseNum-1].getRent()+"元/天\t"+((PassengerCar)car[chooseNum-1]).getPeopleCapacity()+"人\t\t");
peopleCapacity+=((PassengerCar)car[chooseNum-1]).getPeopleCapacity();
}else{
System.out.println(car[chooseNum-1].getName()+"\t\t"+car[chooseNum-1].getRent()+"元/天\t"+((Truck)car[chooseNum-1]).getCargoCapacity()+"人\t\t");
cargoCapacity+=((Truck)car[chooseNum-1]).getCargoCapacity();
}
totalRent+=car[chooseNum-1].getRent();
}
System.out.println("請輸入你租車的天數");
int days=scan.nextInt();
System.out.println("你租賃了"+count+"輛車");
System.out.println("總載客量為"+peopleCapacity+"人");
System.out.println("總載貨量為"+cargoCapacity+"噸");
System.out.println("總租金為"+totalRent*days+"元");
}else{
System.out.println("再見");
}
}
}
結果:
歡迎使用答答租車系統
你是否要租車:1是 2否
1
你可租車的類型及其價格表:
序號 汽車名稱 租金 容量
1 奧迪 500.0元/天 4人
2 馬自達 400.0元/天 4人
3 金龍 800.0元/天 20噸
4 松花江 400.0元/天 4噸
5 依維柯 1000.0元/天 20噸
請輸入你要租車的數量:
3
請輸入您要選擇的第1輛車的序號
1
你選擇的是第1號車型
奧迪 500.0元/天 4人
請輸入您要選擇的第2輛車的序號
2
你選擇的是第2號車型
馬自達 400.0元/天 4人
請輸入您要選擇的第3輛車的序號
3
你選擇的是第3號車型
金龍 800.0元/天 20人
請輸入你租車的天數
3
你租賃了3輛車
總載客量為8人
總載貨量為20噸
總租金為5100元
慕課網-噠噠租車系統