亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

DaDaCarRentalSystem。關于抽象類和接口,還是有不太理解的地方,還需要繼續學習啊~~

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;

	}
}


正在回答

3 回答

為嘛,都是LISt 才能寫出來挖,想看新手寫的。。。

0 回復 有任何疑惑可以回復我~

大神都用到 list了~~

0 回復 有任何疑惑可以回復我~

終于寫出來了,略有成就感啊~~:)

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

DaDaCarRentalSystem。關于抽象類和接口,還是有不太理解的地方,還需要繼續學習啊~~

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號