本課作業源碼
package?RentCar; //父類 public?class?Car?{ public?String?carName?; public??int?rentCash?; public??int?man?; public??int?Goods; }
package?RentCar; //奧迪A4 public?class?Audi?extends?Car?{ //初始化屬性 public?String?carName?="奧迪A4"; public??int?rentCash?=?500; public??int?man?=?4; public??int?Goods?=?0; /** ?*?重寫toString方法 ?*/ @Override public?String?toString()?{ //?TODO?Auto-generated?method?stub return??carName+"\t"+rentCash+"元/天\t載人:"+man+"人"; } }
package?RentCar; //皮卡雪 public?class?PickUp?extends?Car?{ //初始化屬性值 public?String?carName?="皮卡雪6"; public??int?rentCash?=?450; public??int?man?=?4; public??int?Goods?=?2; /* ?*?重寫toString方法 ?*/ @Override public?String?toString()?{ //?TODO?Auto-generated?method?stub return??carName+"\t"+rentCash+"元/天\t載人:"+man+"人??載貨:"+Goods+"噸"; } }
package?RentCar; //金龍 public?class?JinLong?extends?Car?{ //初始化屬性 public?String?carName?="金龍"; public??int?rentCash?=?800; public??int?man?=?20; public??int?Goods?=?0; /** ?*?重寫toString方法 ?*/ @Override public?String?toString()?{ //?TODO?Auto-generated?method?stub return??carName+"\t"+rentCash+"元/天\t載人:"+man+"人"; } }
package?RentCar; //松花江 public?class?SongHuaRiver?extends?Car?{ //初始化屬性 public?String?carName?="松花江"; public??int?rentCash?=?400; public??int?man?=?0; public??int?Goods?=?4; /** ?*?重寫toString方法 ?*/ @Override public?String?toString()?{ //?TODO?Auto-generated?method?stub return??carName+"\t"+rentCash+"元/天\t載貨:"+Goods+"噸"; } }
package?RentCar; //依維柯 public?class?Iveco?extends?Car?{ //初始化屬性 public?String?carName?="依維柯"; public??int?rentCash?=?1000; public??int?man?=?0; public??int?Goods?=?20; /** ?*?重寫toString方法 ?*/ @Override public?String?toString()?{ //?TODO?Auto-generated?method?stub return??carName+"\t"+rentCash+"元/天?載貨:"+Goods+"噸"; } }
package?RentCar; import?java.util.*; public?class?Inital?{ Scanner?scanner?=?new?Scanner(System.in); public?static?int?carNumber[][]?=?new?int[6][2];//定義一個二維數組類型的全局變量,來存儲每一類車的數量和租用天數 public?static?void?main(String[]?args){ Scanner?scanner?=?new?Scanner(System.in); Inital?ll?=new?Inital(); System.out.println("歡迎使用答答租車系統\n請問您是否需要租車服務:1是????0否"); int?choose; choose?=?scanner.nextInt(); if(choose?==?1) { ll.showInfor(); ll.choose(); ll.count(); }else{ System.out.println("不好意思給您帶來不便"); System.exit(0); } } public?void?showInfor()//輸出車輛信息 { System.out.println("您可租車的類型及其價目表:"); System.out.println("序號\t汽車名稱\t租金\t容量"); System.out.println("1.\t"+new?Audi().toString()); System.out.println("2.\t"+new?Mazda().toString()); System.out.println("3.\t"+new?PickUp().toString()); System.out.println("4.\t"+new?JinLong().toString()); System.out.println("5.\t"+new?SongHuaRiver().toString()); System.out.println("6.\t"+new?Iveco().toString()); } public?void?choose() { int?ID?=?0;//車輛的序號? int?day?=0;//租用的天數 int?carNum?=?0;//租用汽車總數量 int?num?=0;//某類汽車的數量 System.out.println("請輸入您要租用的汽車總數量:"); carNum?=?scanner.nextInt(); for(int?i?=?0;?i?<?7;?i++){ System.out.println("請輸入你需要租用汽車的序號"); ID?=?scanner.nextInt(); System.out.println("請輸入需要租用本類型車的數量"); num?=?scanner.nextInt(); System.out.println("請輸入你需要租賃的天數"); day?=?scanner.nextInt(); switch(ID) { case?1:? carNumber[0][0]=?num; carNumber[0][1]?=?day;?break; case?2: carNumber[1][0]=?num; carNumber[1][1]?=?day;?break; case?3: carNumber[2][0]=?num; carNumber[2][1]?=?day;?break; case?4: carNumber[3][0]=?num; carNumber[3][1]?=?day;?break; case?5: carNumber[4][0]=?num; carNumber[4][1]?=?day;?break; case?6: carNumber[5][0]=?num; carNumber[5][1]?=?day;?break; default?:? System.out.println("您的輸入有誤"); i?=?0; break; } int?m?=?0; for(int?j?=?0;?j?<?6;?j++){ m?+=?carNumber[j][0]; } if(m?>?carNum){ System.out.println("輸入有誤,請再次訪問"); System.exit(0); }else?if(m?==?carNum){ break; } } } public?void?count() { int?manNumber?=?0;//總載客人數 int?tannage??=?0;//總噸位 int?counts?=?0;//總花銷 System.out.println("您的賬單:"); System.out.println("***可載人的車有:"); for(int??i?=?0;i?<?4;?i++){ if(carNumber[i][0]?>0) { if(i?==?0){ System.out.print(new?Audi().carName+"\t"); manNumber?=?manNumber?+?carNumber[i][0]*4; counts?=?counts?+?500*carNumber[i][1]*carNumber[i][0]; } if(i?==?1){ System.out.print(new?Mazda().carName+"\t"); manNumber?=?manNumber?+?carNumber[i][0]*4;? counts?=?counts?+?400*carNumber[i][1]*carNumber[i][0]; } if(i?==?2){ System.out.print(new?PickUp().carName+"\t"); manNumber?=?manNumber?+?carNumber[i][0]*4; tannage?=?tannage?+?carNumber[2][0]*2; counts?=?counts?+?450*carNumber[i][1]*carNumber[i][0]; } if(i?==?3){ System.out.print(new?JinLong().carName+"\t"); manNumber?=?manNumber?+?carNumber[i][0]*20;? counts?=?counts?+?800*carNumber[i][1]*carNumber[i][0]; } } } System.out.println("共載人:"+manNumber+"人"); System.out.println("***載貨的車有:"); if(carNumber[2][0]?>0){ System.out.print(new?PickUp().carName+"\t"); } if(carNumber[4][0]?>?0) { System.out.print(new?SongHuaRiver().carName+"\t"); tannage?=?tannage?+?carNumber[4][0]*7; counts?=?counts?+?400*carNumber[4][1]*carNumber[4][0]; } if(carNumber[5][0]?>?0) { System.out.print(new?Iveco().carName+"\t"); tannage?=?tannage?+?carNumber[5][0]*20; counts?=?counts?+?1000*carNumber[5][1]*carNumber[5][0]; } System.out.println("共載貨:"+tannage+"噸"); System.out.println("***租車總價格:"+counts+"元"); } }
看了置頂的代碼,哭,封裝和分類繼承的好麻煩 ? T T
我的作業中用一種比較簡單的方法,提供了一定租車數量下的多種選擇搭配的方法。希望指導一下,編碼風格有什么不足的地方
2015-12-17
只要肯去想 都是好的 ?條條道路通羅馬