幫忙看一下我寫(xiě)的有沒(méi)有問(wèn)題 謝謝
車(chē)類(lèi)
package?com.DiDiCar;
public?abstract?class???Car?{
?????private?String?carName;?????//車(chē)名
?????private?int?carId;?????????????????//車(chē)ID???
?????private?float?price;?????????????????//租價(jià)
?????private?float?carCargo;?????????//載貨量
?????private?int?carPerson;?????????//載客量
?????
?????
?????public?abstract?void?showInfo();????//?顯示車(chē)信息
?????
?????
?????
public?String?getCarName()?{
return?carName;
}
public?void?setCarName(String?carName)?{
this.carName?=?carName;
}
public?int?getCarId()?{
return?carId;
}
public?void?setCarId(int?carId)?{
this.carId?=?carId;
}
public?float?getPrice()?{
return?price;
}
public?void?setPrice(int?price)?{
this.price?=?price;
}
public?float?getCarCargo()?{
return?carCargo;
}
public?void?setCarCargo(int?carCargo)?{
this.carCargo?=?carCargo;
}
public?int?getCarPerson()?{
return?carPerson;
}
public?void?setCarPerson(int?carPerson)?{
this.carPerson?=?carPerson;
}
?????
?????
?????
}汽車(chē)類(lèi)
package?com.DiDiCar;
public?class?Automobile?extends?Car?{
????private?String?carName;?????//車(chē)名
????private?int?carId;?????????????????//車(chē)ID???
????private?float?price;?????????????????//租價(jià)
????private?int?carPerson;?????????//載客量
????
public?Automobile(String?carName,?int?carId,?int?price,?int?carPerson)?{
super();
this.carName?=?carName;
this.carId?=?carId;
this.price?=?price;
this.carPerson?=?carPerson;
}
@Override
public?void?showInfo()?{
//?TODO?Auto-generated?method?stub
System.out.println(getCarId()+"."+'\t'?+?getCarName()?+?'\t'?+getPrice()?+"元/天"?+?'\t'?+?"載人:"+getCarPerson()?+"人");
}
public?String?getCarName()?{
return?carName;
}
public?void?setCarName(String?carName)?{
this.carName?=?carName;
}
public?int?getCarId()?{
return?carId;
}
public?void?setCarId(int?carId)?{
this.carId?=?carId;
}
public?float?getPrice()?{
return?price;
}
public?void?setPrice(int?price)?{
this.price?=?price;
}
public?int?getCarPerson()?{
return?carPerson;
}
public?void?setCarPerson(int?carPerson)?{
this.carPerson?=?carPerson;
}
????
????
????
}貨車(chē)類(lèi)
package?com.DiDiCar;
public?class?Truck?extends?Car?{
????private?String?carName;?????//車(chē)名
????private?int?carId;?????????????????//車(chē)ID???
????private?float?price;?????????????????//租價(jià)
????private?float?carCargo;?????????//載貨量
????
public?Truck(String?carName,?int?carId,?int?price,?int?carCargo)?{
super();
this.carName?=?carName;
this.carId?=?carId;
this.price?=?price;
this.carCargo?=?carCargo;
}
@Override
public?void?showInfo()?{
//?TODO?Auto-generated?method?stub
System.out.println(getCarId()+"."+'\t'?+?getCarName()?+?'\t'?+getPrice()?+"元/天"?+?'\t'?+?"載貨:"+getCarCargo()?+"噸");
}
public?String?getCarName()?{
return?carName;
}
public?void?setCarName(String?carName)?{
this.carName?=?carName;
}
public?int?getCarId()?{
return?carId;
}
public?void?setCarId(int?carId)?{
this.carId?=?carId;
}
public?float?getPrice()?{
return?price;
}
public?void?setPrice(int?price)?{
this.price?=?price;
}
public?float?getCarCargo()?{
return?carCargo;
}
public?void?setCarCargo(int?carCargo)?{
this.carCargo?=?carCargo;
}
????
????
????
}皮卡車(chē)類(lèi)
package?com.DiDiCar;
public?class?Pickup?extends?Car?{
????private?String?carName;?????//車(chē)名
????private?int?carId;?????????????????//車(chē)ID???
????private?float?price;?????????????????//租價(jià)
????private?float?carCargo;?????????//載貨量
????private?int?carPerson;?????????//載客量
????
????
public?Pickup(String?carName,?int?carId,?int?price,?int?carCargo,
int?carPerson)?{
super();
this.carName?=?carName;
this.carId?=?carId;
this.price?=?price;
this.carCargo?=?carCargo;
this.carPerson?=?carPerson;
}
@Override
public?void?showInfo()?{
//?TODO?Auto-generated?method?stub
System.out.println(getCarId()+"."+'\t'?+?getCarName()?+?'\t'?+getPrice()?+"元/天"?+?'\t'?+?"載人:"+getCarPerson()?+"人"+"載貨:"+getCarCargo()?+"噸");
}
public?String?getCarName()?{
return?carName;
}
public?void?setCarName(String?carName)?{
this.carName?=?carName;
}
public?int?getCarId()?{
return?carId;
}
public?void?setCarId(int?carId)?{
this.carId?=?carId;
}
public?float?getPrice()?{
return?price;
}
public?void?setPrice(int?price)?{
this.price?=?price;
}
public?float?getCarCargo()?{
return?carCargo;
}
public?void?setCarCargo(int?carCargo)?{
this.carCargo?=?carCargo;
}
public?int?getCarPerson()?{
return?carPerson;
}
public?void?setCarPerson(int?carPerson)?{
this.carPerson?=?carPerson;
}
????
????
}實(shí)現(xiàn)
package?com.DiDiCar;
import?java.util.Scanner;
public?class?Realize?{
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
//創(chuàng)建車(chē)輛對(duì)象數(shù)組,分別指向不同類(lèi)型車(chē)輛
Car[]?car?={new?Automobile("奧迪A4",1,500,4),new?Automobile("馬自達(dá)6",2,400,4),new?Pickup("皮卡雪6",3,450,2,4),new?Automobile("金龍??",4,800,20),new?Truck("松花江",5,400,4),new?Truck("依維河",6,1000,20)};
Scanner?input?=?new?Scanner(System.in);
System.out.println("*******************歡迎使用滴滴租車(chē)系統(tǒng):*******************");
//顯示租車(chē)信息
while?(true)
{
System.out.println("您是否要租車(chē):1?是?0?否");
int?choise?=?input.nextInt();
if?(choise?==?0)
{
System.out.println("感謝您使用滴滴租車(chē)系統(tǒng),再見(jiàn)!");?
break;
}
else?if?(choise?==?1)????????????????????????????????????//進(jìn)入系統(tǒng)
{
System.out.println("您可租車(chē)的類(lèi)型及其價(jià)目表:");
????????????????System.out.println("序號(hào)"?+?'\t'?+?"汽車(chē)名稱(chēng)"?+?'\t'?+?"租金"?+?'\t'?+"容量");
for(int?i=0;i<car.length;i++)
{
car[i].showInfo();???????????????????????????????//顯示車(chē)的信息
}
????????break;
}
else???//輸入錯(cuò)誤,從新輸入
{
System.out.println("您的輸入信息有誤,請(qǐng)從新輸入:");
}
}
//輸入租車(chē)數(shù)量、種類(lèi)、日期
System.out.println("請(qǐng)輸入您要租汽車(chē)的數(shù)量:");
int?num?=?input.nextInt();?????????????????????????//租車(chē)數(shù)量
if(num>10||num<1)
{
System.out.println("超出租車(chē)數(shù)量范圍,請(qǐng)從新輸入:");
?num?=?input.nextInt();?
}
Car[]?carChoice?=?new?Car[num];????????//客戶(hù)選擇的車(chē)輛對(duì)象數(shù)組
for(int?i=0;i<carChoice.length;i++)
{
System.out.println("請(qǐng)輸入第"+(i+1)+"輛車(chē)的序號(hào):");
int?carNum?=?input.nextInt();????????????//客戶(hù)選擇的車(chē)序號(hào)
if(carNum>6||carNum<1)
{
????????????????????System.out.println("輸入有誤,請(qǐng)從新輸入:");
?????????????????????carNum?=?input.nextInt();
}
carChoice[i]?=?car[carNum-1];
}
System.out.println("請(qǐng)輸入租車(chē)天數(shù):");
int?Day?=?input.nextInt();????????????????????//租車(chē)天數(shù)
if(Day>30||Day<1)
{
System.out.println("輸入有誤,請(qǐng)從新輸入:");
?Day?=?input.nextInt();??
}
//計(jì)算并顯示賬單
int?totalCarPerson=0;????????//總的載客量
float?totalCarCargo=0;????????//總的載貨量
float?dayPrice=0;?????????????????????//每天的租金
float?totalPrice=0;?????????????????//總價(jià)
System.out.println("*******************您的賬單:*******************");
System.out.println("*******可載人車(chē)有:");
for(int?i=0;i<carChoice.length;i++)
{
if(carChoice[i]?instanceof?Automobile||carChoice[i]?instanceof?Pickup)
{
System.out.print('\t'+carChoice[i].getCarName());
totalCarPerson?+=?carChoice[i].getCarPerson();
}
dayPrice?+=?carChoice[i].getPrice();
}
System.out.println('\t'+"共載人:"+totalCarPerson+"人");
System.out.println("*******可載貨車(chē)有:");
for(int?i=0;i<carChoice.length;i++)
{
if(carChoice[i]?instanceof?Truck||carChoice[i]?instanceof?Pickup)
{
System.out.print('\t'+carChoice[i].getCarName());
totalCarCargo?+=?carChoice[i].getCarCargo();
}
}
System.out.println('\t'+"共載貨:"+totalCarCargo+"噸");
totalPrice?=?dayPrice*Day;
System.out.println("********租車(chē)總價(jià)格:"+totalPrice+"元");
input.close();
}
}
2015-12-17
get()和set()和抽象類(lèi)一樣就不用重寫(xiě)了