package?com.lf;
//構造一個車的抽象類
public?abstract?class?Car?{
private?int?number;
private?String?carName;
private?int?rentMoney;
private?String?capacity;
public?int?getNumber()?{
return?number;
}
public?void?setNumber(int?number)?{
this.number?=?number;
}
public?String?getCarName()?{
return?carName;
}
public?void?setCarName(String?carName)?{
this.carName?=?carName;
}
public?int?getRentMoney()?{
return?rentMoney;
}
public?void?setRentMoney(int?rentMoney)?{
this.rentMoney?=?rentMoney;
}
public?abstract?String?getCapacity();
public?void?setCapacity(String?capacity)?{
this.capacity?=?capacity;
}
@Override
public?String?toString()?{
return?number?+?".?"?+?carName?+?"??"?+?rentMoney?+?"??"
+?this.getCapacity();
}
}
package?com.lf;
//貨車載貨量的接口
public?abstract?interface?ICarryGoods?{
//載貨量
public?abstract?String?carryGoods();
}
package?com.lf;
//客車載客量的接口
public?interface?ICarryPassenger?{
//客車載客量
public?abstract?String?carryPassenger();
}
package?com.lf;
//客車
public?class?PassengerCar?extends?Car?implements?ICarryPassenger?{
public?int?passengerCapcity;
public?PassengerCar(int?number,?String?carName,int?rentMoney,int?capacityNum)?{
this.setNumber(number);
this.setCarName(carName);
this.setRentMoney(rentMoney);
this.passengerCapcity?=?capacityNum;
}
public?int?getPassengerCapcity()?{
return?passengerCapcity;
}
public?void?setPassengerCapcity(int?passengerCapcity)?{
this.passengerCapcity?=?passengerCapcity;
}
public?String?getCapacity(){
return?carryPassenger();
}
@Override
public?String?carryPassenger()?{
return?"載人:"?+?this.passengerCapcity?+?"人";
}
}
package?com.lf;
//貨車
public?class?GoodsCar?extends?Car?implements?ICarryGoods?{
private?int?goodsCapacity;
public?int?getGoodsCapacity()?{
return?goodsCapacity;
}
public?void?setGoodsCapacity(int?goodsCapacity)?{
this.goodsCapacity?=?goodsCapacity;
}
public?String?getCapacity(){
return?this.carryGoods();
}
public?GoodsCar(int?number,?String?carName,int?rentMoney,int?capacityNum)?{
this.setNumber(number);
this.setCarName(carName);
this.setRentMoney(rentMoney);
this.goodsCapacity?=?capacityNum;
}
@Override
public?String?carryGoods()?{
return?"載貨:"?+?this.goodsCapacity?+?"噸";
}
}
package?com.lf;
//皮卡車,即可載貨,又可載人
public?class?PicaCar?extends?Car?implements?ICarryGoods,?ICarryPassenger?{
private?int?goodsCapacity;
private?int?passengerCapacity;
public?PicaCar(int?number,?String?carName,int?rentMoney,int?goodsCapNum,int?passengerCapNum)?{
this.setNumber(number);
this.setCarName(carName);
this.setRentMoney(rentMoney);
this.goodsCapacity?=?goodsCapNum;
this.passengerCapacity?=?passengerCapNum;
}
public?int?getGoodsCapacity()?{
return?goodsCapacity;
}
public?void?setGoodsCapacity(int?goodsCapacity)?{
this.goodsCapacity?=?goodsCapacity;
}
public?int?getPassengerCapacity()?{
return?passengerCapacity;
}
public?void?setPassengerCapacity(int?passengerCapacity)?{
this.passengerCapacity?=?passengerCapacity;
}
public?String?getCapacity(){
return?carryGoods()+carryPassenger();
}
@Override
public?String?carryPassenger()?{
return?"載人:"?+?this.passengerCapacity?+?"人:";
}
@Override
public?String?carryGoods()?{
return?"載貨:"?+?this.goodsCapacity?+?"噸:";
}
}
package?com.lf;
//租車系統
import?java.util.ArrayList;
import?java.util.Iterator;
import?java.util.Scanner;
public?class?DaDaRental?{
public?static?void?main(String[]?args)?{
System.out.println("***請問您是否需要租車?是/否(1/0)");
Scanner?sc?=?new?Scanner(System.in);
if?(sc.nextInt()?==?0)?{
System.out.println("感謝您使用本系統,歡迎您下次選購,謝謝!");
}?else?{
System.out.println("***可選車類型和價目表如下:");
ArrayList<Car>?cars?=?saveCars();
System.out.println("序號????汽車名稱?????租金(元/月)????????容量?");
Iterator<Car>?it?=?cars.iterator();
while?(it.hasNext())?{
System.out.println(it.next().toString()?+?"");
}
System.out.println("***請輸入租車數量(不超過"?+?cars.size()?+?"輛)");
int?choseNum?=?sc.nextInt();
int[]?carNums?=?new?int[choseNum];
for(int?i=0;i<choseNum;i++){
System.out.println("***請輸入第"+(i+1)+"輛車的序號:");
carNums[i]?=?sc.nextInt();
}
System.out.println("***您選擇的車為:");
for(int?i?:carNums){
System.out.println(cars.get(i-1).toString());
}
System.out.println("請輸入租車天數:");
int?rentDay?=?sc.nextInt();
System.out.println("***您的賬單為:");
//統計可載人車輛和載人總數
System.out.println("****可載人的車有:");
int?totalPassengers?=?0;
for(int?i?:carNums){
if(cars.get(i-1)?!=?null&&(cars.get(i-1)?instanceof?PassengerCar||?cars.get(i-1)?instanceof?PicaCar)){
System.out.print(cars.get(i-1).getCarName()+"???");
if(cars.get(i-1)?instanceof?PassengerCar){
PassengerCar?pasCar?=?(PassengerCar)cars.get(i-1);
totalPassengers?+=?pasCar.getPassengerCapcity();
}
if(cars.get(i-1)?instanceof?PicaCar){
PicaCar?picaCar?=?(PicaCar)cars.get(i-1);
totalPassengers?+=?picaCar.getPassengerCapacity();
}
}
}
System.out.println("總載人數:"+totalPassengers+"人");
//統計可以載貨的車和總載貨數
System.out.println();
System.out.println("****可載貨的車有:");
int?totalGoods?=?0;
for(int?i?:carNums){
if(cars.get(i-1)?!=?null&&(cars.get(i-1)?instanceof?GoodsCar||?cars.get(i-1)?instanceof?PicaCar)?){
System.out.print(cars.get(i-1).getCarName()+"???");
if(cars.get(i-1)?instanceof?GoodsCar){
GoodsCar?pasCar?=?(GoodsCar)cars.get(i-1);
totalGoods?+=?pasCar.getGoodsCapacity();
}
if(cars.get(i-1)?instanceof?PicaCar){
PicaCar?picaCar?=?(PicaCar)cars.get(i-1);
totalGoods?+=?picaCar.getGoodsCapacity();
}
}
}
System.out.println("總載貨數:"+totalGoods+"噸");
//統計所選車的總租金
System.out.println();
int?totalMoney?=?0;
for(int?i?:carNums){
totalMoney?+=?cars.get(i-1).getRentMoney();
}
System.out.println("***總租金為:"+totalMoney*rentDay);
}
}
public?static?ArrayList<Car>?saveCars()?{
ArrayList<Car>?cars?=?new?ArrayList<Car>();
Car?passengerCar1?=?new?PassengerCar(1,"奧迪A4",500,4);
cars.add((Car)?passengerCar1);
Car?goodsCar1?=?new?GoodsCar(2,"馬自達",?400,?4);
cars.add(goodsCar1);
Car?picaCar1?=?new?PicaCar(3,"東風汽車",450,4,5);
cars.add((Car)?picaCar1);
Car?passengerCar2?=?new?PassengerCar(4,"奧迪A8",300,4);
cars.add((Car)?passengerCar2);
return?cars;
}
}
2014-12-11
為嘛,都是LISt 才能寫出來挖,想看新手寫的。。。
2014-12-04
大神都用到 list了~~
2014-11-23
終于寫出來了,略有成就感啊~~:)