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

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

新手做的,答答租車系統,望大家多多指教~

首先定義Car抽象類;

package?dadasystem2;

public?abstract?class?Car?{
	private?String?name;
	private?int?num;
	private?int?person;
	private?int?weight;
	private?int?price;						//定義4個私有成員變量,名字,數量,載客量,載重量,單價
	
	public?abstract?void?show();			//定義輸出車輛信息的抽象函數
	
	public?String?getName()?{
		return?name;
	}
	public?void?setName(String?name)?{
		this.name?=?name;
	}
	public?int?getNum()?{
		return?num;
	}
	public?void?setNum(int?num)?{
		this.num?=?num;
	}
	public?int?getPerson()?{
		return?person;
	}
	public?void?setPerson(int?person)?{
		this.person?=?person;
	}
	public?int?getWeight()?{
		return?weight;
	}
	public?void?setWeight(int?weight)?{
		this.weight?=?weight;
	}
	public?int?getPrice()?{
		return?price;
	}
	public?void?setPrice(int?price)?{
		this.price?=?price;
	}	
}


然后定義小車類Scar,

package?dadasystem2;

public?class?Scar?extends?Car?{
	public?Scar?(String?name,int?num,int?person,int?price)?{
		this.setName(name);					//這里也可以不要this
		this.setNum(num);
		this.setPerson(person);
		this.setPrice(price);
	}

	@Override
	public?void?show()?{
		//?TODO?Auto-generated?method?stub
		System.out.println(getName()+"\t"+getNum()+"\t"+getPerson()+"\t"+"-"+"\t"+getPrice());
	}
}

定義載貨車Lcar,

package?dadasystem2;

public?class?Lcar?extends?Car?{
	public?Lcar?(String?name,int?num,int?weight,int?price)?{
		setName(name);					//可以不要this
		setNum(num);
		setWeight(weight);
		setPrice(price);
	}
	
	@Override
	public?void?show()?{
		//?TODO?Auto-generated?method?stub
		System.out.println(getName()+"\t"+getNum()+"\t"+"-"+"\t"+getWeight()+"\t"+getPrice());
	}
}

定義載人載貨兩用車Bcar,

package?dadasystem2;

public?class?Bcar?extends?Car?{
	public?Bcar?(String?name,int?num,int?person,int?weight,int?price)?{
		setName(name);					//好像可以不要this
		setNum(num);
		setPerson(person);
		setWeight(weight);
		setPrice(price);
	}
	
	@Override
	public?void?show()?{
		//?TODO?Auto-generated?method?stub
		System.out.println(getName()+"\t"+getNum()+"\t"+getPerson()+"\t"+getWeight()+"\t"+getPrice());
	}

}



最后看看測試類,

package?dadasystem2;
import?java.util.Scanner;;

public?class?Test?
{

	public?static?void?main(String[]?args)?
	{
		//?TODO?Auto-generated?method?stub
		Car?car[]?=
			{	
				new?Scar("野馬",?10,?5,?500),
				new?Scar("奔奔",?10,?8,?300),
				new?Lcar("東方",?10,?10,?1000),
				new?Lcar("重汽",?10,?40,?3000),
				new?Bcar("皮卡",?10,?2,?3,?500),
				new?Bcar("卡車",?10,?5,?5,?800)
			};															//創建car車型數組,存放6個不同的車型對象
		
		System.out.println("***歡迎使用答答租車系統***");
		System.out.println("租車請按1,退出請按其他鍵。");
		Scanner?in1?=?new?Scanner(System.in);
		while?(in1.nextInt()==1)?
		{
			System.out.println("序號"+"\t"+"車名"+"\t"+"可租車量"+"\t"+"載人量"+"\t"+"載貨量"+"\t"+"價格");
			for?(int?i=0;?i<=5;?i++)?
			{
				System.out.print((i+1)+"\t");
				car[i].show();
			}
			
			System.out.println("------------------------------------------------");
			System.out.print("請輸入您要租車的數量:");
			Scanner?in2?=?new?Scanner(System.in);
			int?NUM?=?in2.nextInt();									//用?NUM?表示需要租車的數量
			Car?[]?Zcar?=?new?Car[NUM];									//創建Zcar數組,存放租車對象
			for(int?j=0;?j<NUM;?j++?)?
			{									
				System.out.println("請輸入您要租的第"+(j+1)+"輛車的序號:");		//循環進行?NUM?輛車的錄用和輸出信息
				Scanner?in3?=?new?Scanner(System.in);
				int?flag?=?in3.nextInt();								//?flag?表示當前第j輛車的?????租車的序號
				Zcar[j]=car[flag-1];
				car[flag-1].setNum(car[flag-1].getNum()-1);					//?車型數組car中,第?flag?類車的數量-1,保證數量問題
				System.out.println("第"+(j+1)+"輛車租車完成");
			}
			System.out.println("------------"+NUM+"輛車租車完成------------"+"\n"+"下面開始統計數據..........");		
																		//租車完成,開始統計數據并輸出
			int?per=0,?wei=0,?pri=0,?NUM2=0;
			for?(int?i=0;?i<NUM;?i++)
			{
				per?+=?Zcar[i].getPerson();
				wei?+=?Zcar[i].getWeight();
				pri?+=?Zcar[i].getPrice();
				NUM2?+=?Zcar[i].getNum();
			}
			System.out.println("一共租車"+NUM+"輛");
			System.out.println("共可載"+per+"人");
			System.out.println("共可載貨"+wei+"噸");
			System.out.println("共需付款"+pri+"元");
			?
			System.out.print("請輸入付款金額:");						//加的小程序?????O(∩_∩)O哈哈~
			Scanner?in4?=?new?Scanner(System.in);
			while?(pri!=in4.nextInt())
				System.out.println("輸入錯誤,請重新輸入金額!");
			System.out.print("請輸入付款密碼:");
			Scanner?in5?=?new?Scanner(System.in);
			while?(in5.nextInt()!=123456)
				System.out.println("密碼錯誤,請重新輸入!");
			System.out.println("交易成功!");
			
			System.out.println("繼續租車請按1,退出請按其他鍵。");
		}
		System.out.println("***歡迎再次使用本系統,再見!***");
	}
}


本系統加了一個剩余車輛數量的程序,再輸入付款密碼,交易成功之后,可繼續租車,此時可租車輛就不再是默認的10輛了,會減去已租車輛數。

//程序還可以修改,加一個判斷 ? 當租車數大于車輛剩余數量的時候 ? 返回錯誤


剛開始學java,還希望大家多多指導!??!


https://img1.sycdn.imooc.com//5ab9cc6f00019ffc05290747.jpg


測試車輛數量是否有更新:

https://img1.sycdn.imooc.com//5ab9ccfe0001a47a05760901.jpg


現在想問問大神們,如何修改程序,可以在程序的任意位置,直接退出??

比如說租車完成后,要選擇繼續租車,才能看到車輛列表的更新狀態,但是看了之后,有必須要再執行一遍租車系統,就很迷了,真的是迷~~~

正在回答

11 回答

定義一個布爾類型再用IF語句拋出異常?throw new RuntimeEXception(" ? ? ");

Em......我也是新手......

2 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531142    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

新手做的,答答租車系統,望大家多多指教~

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

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

幫助反饋 APP下載

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

公眾號

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