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

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

交作業,類分的比較細,大家一起交流

//Auto.java,?所有車型的父類

package?com.imooc.dadacarrental;

public?class?Auto?{
	private?String?autoType;
	private?String?autoName;
	private?int?autoRent;
	protected?int?passengerCount;
	protected?int?cargoWeight;
	
	public?void?setAuto(String?autoType,?String?autoName,?int?autoRent){
		this.autoType?=?autoType;
		this.autoName?=?autoName;
		this.autoRent?=?autoRent;
	}
	
	public?void?printCar(){
		System.out.println("車型:"+autoType);
		System.out.println("名稱:"+autoName);
	}
	
	public?String?getAutoType(){
		return?autoType;
	}
	
	public?String?getAutoName(){
		return?autoName;
	}
	
	public?int?getAutoRent(){
		return?autoRent;
	}
	
	public?int?getPassengerCount(){
		return?passengerCount;
	}
	
	public?int?getCargoWeight(){
		return?cargoWeight;
	}

}
//IPassengerAuto.java,?載客車型接口

package?com.imooc.dadacarrental;

public?interface?IPassengerAuto?{
	void?setPassengerCount(int?passengerCount);
	void?printPassengerCount();
}
//ICargoAuto.java,?載貨車型接口

package?com.imooc.dadacarrental;

public?interface?ICargoAuto?{
	void?setCargoWeight(int?cargoWeight);
	void?printCargoWeight();

}
//Car.java,?小客車類

package?com.imooc.dadacarrental;


public?class?Car?extends?Auto?implements?IPassengerAuto?{
	
	Car(String?carName,?int?carRent,?int?passengerCount){
		setPassengerCount(passengerCount);
		setAuto("小客車",?carName,?carRent);
		}
		
	
	@Override
	public?void?setPassengerCount(int?passengerCount)?{
		if(passengerCount?>?5){
			System.out.println("小客車載人數應為5人以下!");
		}
		else{
			this.passengerCount?=?passengerCount;
		}
		
	}

	@Override
	public?void?printPassengerCount()?{
		System.out.println("載客人數:"+passengerCount);

	}

}
//Bus.java,?大客車類

package?com.imooc.dadacarrental;

public?class?Bus?extends?Auto?implements?IPassengerAuto?{
	Bus(String?busName,?int?busRent,?int?passengerCount){
		setPassengerCount(passengerCount);
		setAuto("大客車",?busName,?busRent);
	}

	@Override
	public?void?setPassengerCount(int?passengerCount)?{
		if?(passengerCount?<?10){
			System.out.println("大客車載客數應為10人以上!");
		}
		else{
			this.passengerCount?=?passengerCount;
		}

	}

	@Override
	public?void?printPassengerCount()?{
		System.out.println("載客人數:"+passengerCount);

	}

}
//SmallVan.java,?小貨車類

package?com.imooc.dadacarrental;

public?class?SmallVan?extends?Auto?implements?ICargoAuto?{
	SmallVan(String?vanName,?int?vanRent,?int?cargoWeight){
		setCargoWeight(cargoWeight);
		setAuto("小貨車",?vanName,?vanRent);
	}

	@Override
	public?void?setCargoWeight(int?cargoWeight)?{
		if?(cargoWeight?>?5){
			System.out.println("小貨車的載貨量應為5噸以下!");
		}
		else{
			this.cargoWeight?=?cargoWeight;
		}
	}

	@Override
	public?void?printCargoWeight()?{
		System.out.println("載貨量:"+cargoWeight);

	}

}
//BigVan.java,?大客車類

package?com.imooc.dadacarrental;

public?class?BigVan?extends?Auto?implements?ICargoAuto?{
	BigVan(String?vanName,?int?vanRent,?int?cargoWeight){
		setCargoWeight(cargoWeight);
		setAuto("大貨車",?vanName,?vanRent);
	}

	@Override
	public?void?setCargoWeight(int?cargoWeight)?{
		if?(cargoWeight?<?5?||?cargoWeight?>?20){
			System.out.println("大貨車的載貨量應在5噸和20噸之間!");
		}
		else{
			this.cargoWeight?=?cargoWeight;
		}
	}

	@Override
	public?void?printCargoWeight()?{
		//?TODO?Auto-generated?method?stub

	}

}
//Pickup.java,?皮卡車類

package?com.imooc.dadacarrental;

public?class?Pickup?extends?Auto?implements?ICargoAuto,?IPassengerAuto?{
	Pickup(String?pickupName,?int?pickupRent,?int?passengerCount,?int?cargoWeight){
		setPassengerCount(passengerCount);
		setCargoWeight(cargoWeight);
		setAuto("皮卡",?pickupName,?pickupRent);
	}

	@Override
	public?void?setPassengerCount(int?passengerCount)?{
		this.passengerCount?=?passengerCount;

	}

	@Override
	public?void?printPassengerCount()?{
		//?TODO?Auto-generated?method?stub

	}

	@Override
	public?void?setCargoWeight(int?cargoWeight)?{
		this.cargoWeight?=?cargoWeight;

	}

	@Override
	public?void?printCargoWeight()?{
		//?TODO?Auto-generated?method?stub

	}

}
//DisplayProcess.java,?顯示和處理類

package?com.imooc.dadacarrental;

import?java.io.*;

public?class?DisplayProcess?{
	
	private?int[]?autoNoArray;
	private?int?rentalDays?=?0;
	private?int?totalPassengerCount?=?0;
	private?int?totalCargoWeight?=?0;
	private?int?totalRent?=?0;
	
	private?boolean?welcome()?throws?IOException{
		
		int?result;
		
		System.out.println("歡迎使用答答租車系統!");
		System.out.println("您是否要租車:1是?0否");
		BufferedReader?br1?=?new?BufferedReader(new?InputStreamReader(System.in));
		result?=?Integer.parseInt(br1.readLine());
		
		if?(result?!=?1){
//			System.out.println(result);
			return?false;
		}
				
		return?true;
	}
	
	private?void?listAuto(Auto[]?autoModel){
		System.out.println("您可租車的類型及價目表:");
		System.out.println("序號\t"?+?"汽車名稱\t"?+?"租金(元/天)\t"?+?"容量");
		
		for?(int?i?=?0;?i?<?autoModel.length;?i++){
			if?(autoModel[i]?instanceof?Car?||?autoModel[i]?instanceof?Bus){
				System.out.println((i+1)?+?".\t"?+?autoModel[i].getAutoName()?+?"\t"?+?autoModel[i].getAutoRent()?+?"元/天\t\t載人:"?+?autoModel[i].getPassengerCount()?+?"人");
			}
			
			else?if?(autoModel[i]?instanceof?SmallVan?||?autoModel[i]?instanceof?BigVan){
				System.out.println((i+1)?+?".\t"?+?autoModel[i].getAutoName()?+?"\t"?+?autoModel[i].getAutoRent()?+?"元/天\t\t載貨:"?+?autoModel[i].getCargoWeight()?+?"噸");
			}
			
			else?if?(autoModel[i]?instanceof?Pickup){
				System.out.println((i+1)?+?".\t"?+?autoModel[i].getAutoName()?+?"\t"?+?autoModel[i].getAutoRent()?+?"元/天\t\t載人:"?+?autoModel[i].getPassengerCount()?+?"人?載貨:"?+?autoModel[i].getCargoWeight()?+?"噸");
			}
		}
		
	}
	
	private?void?rentAuto()?throws?IOException{
		System.out.println("請選擇租車數量:");
		BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(System.in));
		int?i?=?Integer.parseInt(br.readLine());
		autoNoArray?=?new?int[i];
		for?(int?j?=?0;?j?<?i;?j++){
			System.out.println("請輸入第"?+?(j+1)?+?"輛車的序號:");
			autoNoArray[j]?=?Integer.parseInt(br.readLine())?-?1;
		}
		
		System.out.println("請輸入租車天數:");
		rentalDays?=?Integer.parseInt(br.readLine());
		
	}
	
	private?void?generateOrder(Auto[]?autoModel){
		System.out.println("您的賬單:");
		System.out.println("***可載人的車有:");
		for?(int?i?=?0;?i?<?autoNoArray.length;?i++){
			if(autoModel[autoNoArray[i]]?instanceof?Car?||?autoModel[autoNoArray[i]]?instanceof?Bus?||?autoModel[autoNoArray[i]]?instanceof?Pickup){
				totalPassengerCount?+=?autoModel[autoNoArray[i]].getPassengerCount();
				totalRent?+=?autoModel[autoNoArray[i]].getAutoRent()*rentalDays;
				System.out.print(autoModel[autoNoArray[i]].getAutoName()?+?"\t");
			}
			else{
				continue;
			}
		}
		System.out.println("共載人:"?+?totalPassengerCount?+?"人");
		
		System.out.println("***可載貨的車有:");
		for?(int?i?=?0;?i?<?autoNoArray.length;?i++){
			if(autoModel[autoNoArray[i]]?instanceof?SmallVan?||?autoModel[autoNoArray[i]]?instanceof?BigVan){
				totalCargoWeight?+=?autoModel[autoNoArray[i]].getCargoWeight();
				totalRent?+=?autoModel[autoNoArray[i]].getAutoRent()*rentalDays;
				System.out.print(autoModel[autoNoArray[i]].getAutoName()?+?"\t");
			}
			else?if(autoModel[autoNoArray[i]]?instanceof?Pickup){
				totalCargoWeight?+=?autoModel[autoNoArray[i]].getCargoWeight();
				System.out.print(autoModel[autoNoArray[i]].getAutoName()?+?"\t");
			}
			else{
				continue;
			}
		}
		System.out.println("共載貨:"+?totalCargoWeight?+?"噸");
		
		System.out.println("***租車總價格:"?+?totalRent?+?"元");
		
	}
	
	public?void?processing(Auto[]?autoModel)?throws?IOException{
		if?(welcome()){
			listAuto(autoModel);
			rentAuto();
			generateOrder(autoModel);
		}
		else
			return;
	}

}
//CreateAutoModel.java,?創建車型類

package?com.imooc.dadacarrental;

public?class?CreateAutoModel?{
	
	private?Auto[]?autoModel?=?new?Auto[6];
	
	private?void?createModel(){
		autoModel[0]?=?new?Car("奧迪A4",?500,?4);
		autoModel[1]?=?new?Car("馬自達6",?400,?4);
		autoModel[2]?=?new?Pickup("皮卡雪6",?450,?4,?2);
		autoModel[3]?=?new?Bus("金龍",?800,?20);
		autoModel[4]?=?new?SmallVan("松花江",?400,?4);
		autoModel[5]?=?new?BigVan("依維柯",?1000,?20);
		
	}
	
	public?Auto[]?getModel(){
		createModel();
		return?autoModel;
	}

}
//DadaCarRental.java,?主類

package?com.imooc.dadacarrental;

import?java.io.IOException;

public?class?DadaCarRental?{

	public?static?void?main(String[]?args)?throws?IOException{
		
		Auto[]?models?=?new?CreateAutoModel().getModel();
		new?DisplayProcess().processing(models);

	}

}


正在回答

3 回答

你這也太繁瑣 了

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

厲害~~~

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

有點看不懂

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

舉報

0/150
提交
取消

交作業,類分的比較細,大家一起交流

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

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

幫助反饋 APP下載

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

公眾號

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