//主類
package?package1;
import?java.util.Scanner;
public?class?Main?{
Scanner?in?=?new?Scanner(System.in);
Order?o;
//主菜單
public?int?mainMenu(){
System.out.println("歡迎使用大大租車系統(tǒng)!");
if(o?==?null){
System.out.println("檢測到尚未創(chuàng)建賬單,現(xiàn)在為您創(chuàng)建賬單");
o?=?new?Order(in);
}
System.out.println("1.創(chuàng)建新的訂單");
System.out.println("2.修改已有訂單");
System.out.println("3.查看訂單詳情");
System.out.println("其他鍵退出系統(tǒng)!");
int?todo=in.nextInt();
return?todo;
}?
public?static?void?main(String[]?args)?{
Main?m?=?new?Main();
while(true){
int?dowhat?=?m.mainMenu();
if?(dowhat?==?1){
?m.o=?new?Order(m.in);
}
else?if(dowhat?==?2){
m.o.addVehicle(m.in);
}else?if(dowhat?==?3)
m.o.show();
else
break;
}
}
}
//車類
package?package1;
public?abstract?class?Vehicle?{
public?int?price;
public?String?type;
public?int?mount;
//返回類型
public?String?getType(){
return?type;
}
//返回價格
public?int?getPrice(){
return?price;
}
}
//卡車類
package?package1;
public?class?Truck?extends?Vehicle{
private?int?loadWeight;
//初始化卡車
public?Truck(String?type){
this.type=type;
if(type?==?"輕型卡車"){
this.loadWeight?=?5;
this.price?=?1000;
}else?if(type?==?"重型卡車"){
this.loadWeight?=?20;
this.price?=?2500;
}
}
//返回載重
public?int?getWeight(){
return?loadWeight;
}
}
//客車類
package?package1;
public?class?Bus?extends?Vehicle{
private?int?loadNumber;
public?Bus(String?type){
this.type=type;
if(type?==?"小型客車"){
this.loadNumber?=?5;
this.price?=?800;
}else?if(type?==?"大型客車"){
this.loadNumber?=?60;
this.price?=?1500;
}
}
//返回載客人數(shù)
public?int?getNumber(){
return?loadNumber;
}
}
//皮卡類
package?package1;
public?class?Pickup?extends?Vehicle{
private?int?loadWeight;
private?int?loadNumber;
public?Pickup(String?type){
this.loadWeight?=?3;
this.loadNumber?=?15;
this.type?=?type;
}
//返回載客人數(shù)
public?int?getNumber(){
return?loadNumber;
}
//返回載重
public?int?getWeight(){
return?loadWeight;
}
}
//訂單類
package?package1;
import?java.util.Scanner;
public?class?Order?{
int?loadNumber;
int?loadWeight;
int?cost;
Vehicle?[]?data?=?{new?Truck("輕型卡車"),?new?Truck("重型卡車"),
new?Bus("小型客車"),?new?Bus("大型客車"),new?Pickup("皮卡")};
public?Order(Scanner?in){
addVehicle(in);
}
//顯示訂單詳情
void?show(){
loadNumber=data[2].mount*((Bus)data[2]).getNumber()+
???data[3].mount*((Bus)data[3]).getNumber()+
???data[4].mount*((Pickup)data[4]).getNumber();
loadWeight=data[0].mount*((Truck)data[0]).getWeight()+
???data[1].mount*((Truck)data[1]).getWeight()+
???data[4].mount*((Pickup)data[4]).getWeight();
for(int?i?=0?;i<data.length;i++){
cost+=data[i].mount*data[i].price;
}
System.out.println("--------------賬單詳情------------");
for(int?i?=0?;i<data.length;i++){
System.out.println(data[i].type+"??數(shù)量:"+data[i].mount+"??單價"+data[i].price);
}
System.out.println("總載重:"+loadWeight+"??總載人:"+loadNumber+"??總價格:"+cost);
System.out.println("--------------------------------");
}
//修改訂單
void?addVehicle(Scanner?in){
boolean?quit?=?false;
while(true){
System.out.println("選擇一種以更改:");
System.out.println("1.輕型卡車????載重范圍:0~5T????價格:1000元/輛");
System.out.println("2.重型卡車????載重范圍:5~20T???價格:2500元/輛");
System.out.println("3.小客車????????載客范圍:0~5人?????????價格:800元/輛");
System.out.println("4.大客車????????載客范圍:10~60人????價格:1500元/輛");
System.out.println("5.皮卡????????????載重范圍:0~3T????載客范圍:0~15人??????價格:2000/輛");
System.out.println("其他數(shù)字鍵退出!");
int?choose?=?in.nextInt();
switch(choose){
case?1:
System.out.println("輸入數(shù)量(正數(shù)增加,負數(shù)減少):");
data[0].mount+=in.nextInt();
break;
case?2:
System.out.println("輸入數(shù)量(正數(shù)增加,負數(shù)減少):");
data[1].mount+=in.nextInt();
break;
case?3:
System.out.println("輸入數(shù)量(正數(shù)增加,負數(shù)減少):");
data[2].mount+=in.nextInt();
break;
case?4:
System.out.println("輸入數(shù)量(正數(shù)增加,負數(shù)減少):");
data[3].mount+=in.nextInt();
break;
case?5:
System.out.println("輸入數(shù)量(正數(shù)增加,負數(shù)減少):");
data[4].mount+=in.nextInt();
break;
default:
quit?=?true;
break;
}
?/*?for(int?i?=?0;i<data.length;i++){
if(data[i].mount?<?0)
data[i].mount?=?0;
}*/
if(quit?==?true){
break;
}
}
}
}
2016-01-04
建議學(xué)一下數(shù)據(jù)庫,把這些東西添加到數(shù)據(jù)庫中運行