課程作業嗒嗒租車系統 源碼如下 不同看法可以交流
Car.java
package com.dada.test;
public class Car {
private int id;
private String name;
private int price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public Car(int id, String name, int price) {
super();
this.id = id;
this.name = name;
this.price = price;
}
}
GoodCar.java
package com.dada.test;
public class GoodCar extends Car {
private int goodcapacity;
public GoodCar(int id, String name, int price, int goodcapacity) {
super(id, name, price);
this.goodcapacity = goodcapacity;
}
public int getGoodcapacity() {
return goodcapacity;
}
public void setGoodcapacity(int goodcapacity) {
this.goodcapacity = goodcapacity;
}
}
GPCar.java
package com.dada.test;
public class GPCar extends Car {
private int goodcapacity;
private int peoplecapacity;
public GPCar(int id, String name, int price, int goodcapacity, int peoplecapacity) {
super(id, name, price);
this.goodcapacity = goodcapacity;
this.peoplecapacity = peoplecapacity;
}
public int getGoodcapacity() {
return goodcapacity;
}
public void setGoodcapacity(int goodcapacity) {
this.goodcapacity = goodcapacity;
}
public int getPeoplecapacity() {
return peoplecapacity;
}
public void setPeoplecapacity(int peoplecapacity) {
this.peoplecapacity = peoplecapacity;
}
}
PeopleCar.java
package com.dada.test;
public class PeopleCar extends Car {
private int peoplecapacity;
public PeopleCar(int id, String name, int price, int peoplecapacity) {
super(id, name, price);
this.peoplecapacity = peoplecapacity;
}
public int getPeoplecapacity() {
return peoplecapacity;
}
public void setPeoplecapacity(int peoplecapacity) {
this.peoplecapacity = peoplecapacity;
}
}
Test.java
package com.dada.test;
import java.util.Scanner;
import com.dada.test.*;
public class Test {
public static void main(String[] args) {
PeopleCar pc1 = new PeopleCar(1,"奧迪A4",500,4);
PeopleCar pc2 = new PeopleCar(2,"馬自達6",400,4);
GPCar gpc = new GPCar(3,"皮卡雪6",450,2,4);
PeopleCar pc3 = new PeopleCar(4,"金龍",800,20);
GoodCar gc1 = new GoodCar(5,"松花江",400,4);
GoodCar gc2 = new GoodCar(6,"依維柯",1000,20);
Scanner sc = new Scanner(System.in);
boolean keep = true;
System.out.println("*********嗒嗒租車系統*********");
while(keep){
System.out.print("是否租用汽車1/0:");
if("0".equals(sc.next())){
System.out.println("*********系統已退出*********");
break;
}
?
System.out.println("您可租車的類型及價目表:");
System.out.println("1. 奧迪A4 500元/天 載人:4人\n" +"2. 馬自達6 400元/天 載人:4人\n" +"3. 皮卡雪6 450元/天 載人:4人載貨:2噸\n"+"4. 金龍 800元/天 載人:20人\n"+"5. 松花江 400元/天 載貨:4噸\n"+"6. 依維柯 1000元/天 載貨:20噸\n");
int peoplesum=0;
int goodsum=0;
int pricesum=0;
String carname="";
System.out.print("輸入你租用車的數量:");
int carnum = sc.nextInt();
System.out.print("請輸入你租用車的天數:");
int day =sc.nextInt();
for(int i=0;i<carnum;i++){
System.out.print("輸入你租用第" + (i+1) + "倆車的id:");
int id = sc.nextInt();
if(id==1){
carname +=pc1.getName()+"? ";
peoplesum += pc1.getPeoplecapacity();
pricesum += pc1.getPrice()*day;
}else if(id==2){
carname +=pc2.getName()+"? ";
peoplesum += pc2.getPeoplecapacity();
pricesum += pc2.getPrice()*day;
}else if(id==3){
carname +=gpc.getName()+"? ";
peoplesum += gpc.getPeoplecapacity();
goodsum += gpc.getGoodcapacity();
pricesum += gpc.getPrice()*day;
}else if(id==4){
carname +=pc3.getName()+"? ";
peoplesum += pc3.getPeoplecapacity();
pricesum += pc3.getPrice()*day;
}else if(id==5){
carname +=gc1.getName()+"? ";
goodsum += gc1.getGoodcapacity();
pricesum += gc1.getPrice()*day;
}else if(id==6){
carname +=gc2.getName()+"? ";
goodsum += gc2.getGoodcapacity();
pricesum += gc2.getPrice()*day;
}else{
System.out.println("您輸入的id有誤!");
}
}
System.out.println("選擇的車有:"+carname );
System.out.println("租金:"+pricesum);
System.out.println("載人量:"+peoplesum+"人");
System.out.println("載貨量:"+goodsum+"噸");
}
}
}
2019-02-04
你這個代碼有一些問題??
當你在選擇是否租車的時候 沒有考慮0/1之外的其他情況 比如輸入3的話也會進入選車界面
當你輸入要租的車輛序號時,如果輸入一個錯誤的車輛序號,比如11,這時會提示輸入錯入,重新輸入
就像這樣,用戶會少選擇一輛車
2019-03-08
請問一下,如果需要租用兩種汽車,該腫么辦?
2019-01-20
//Car.java
public?abstract?class?Car?{ ????public?abstract?String?name(); ????public?abstract?int?price(); ????public?abstract?int?space(); }//MannedCar.java
? ??
public?class?MannedCar?extends?Car?{ ????private?String?name; ????private?int?price; ????private?int?space; ????public?MannedCar()?{ ????} ????MannedCar(String?name,?int?price,?int?space)?{ ????????this.name?=?name; ????????this.price?=?price; ????????this.space?=?space; ????} ???? ????@Override ????public?String?name()?{ ????????return?name; ????} ????@Override ????public?int?price()?{ ????????return?price; ????} ????@Override ????public?int?space()?{ ????????return?space; ????} }//PikaCar.java
public?class?PikaCar?extends?Car?{ ????private?String?name; ????private?int?price; ????private?int?space; ?? ????public?PikaCar(String?name,?double?price,?int?space)?{ ????????this.name?=?name; ????????this.price?=?(int)?price; ????????this.space?=?space; ????} ?? ????@Override ????public?String?name()?{ ????????return?name; ????} ????@Override ????public?int?price()?{ ????????return?price; ????} ????@Override ????public?int?space()?{ ????????return?space; ????} }//CarryCargoCar.java
public?class?CarryCargoCar?extends?Car{ ????private?String?name; ????private?int?price; ????private?int?space; ???? ? ????public?CarryCargoCar(String?name,?double?price,?int?space)?{ ????????this.name?=?name; ????????this.price?=?(int)?price; ????????this.space?=?space; ????} ????@Override ????public?String?name()?{ ????????return?name; ????} ????@Override ????public?int?price()?{ ????????return?price; ????} ????@Override ????public?int?space()?{ ????????return?space; ????} }//Text.java
public?class?Test?{ ????private?static?Scanner?scannerInt?=?new?Scanner(System.in); ????public?static?void?main(String[]?args)?{ ????????System.out.println("歡迎使用答答租車系統:"); ????????System.out.println("您是否要租車:1是?0否"); ????????int?choose?=?scannerInt.nextInt(); ????????Car[]?car?=?{new?MannedCar("奧迪A4",?500,?4),?new?MannedCar("馬自達6",?400,?4),?new?PikaCar("皮卡雪6",?450,?4),?new?MannedCar("金龍",?800,?20),?new?CarryCargoCar("松花江",?400,?4),?new?CarryCargoCar("依維柯",?1000,?20)}; ????????switch?(choose)?{ ????????????case?1: ????????????????System.out.println("您可租車的類型及其價格目錄表:"); ????????????????System.out.println("序號\t汽車名稱\t租金\t????????容量"); ????????????????for?(int?i?=?1;?i?<?7;?i++)?{ ????????????????????System.out.print(i?+?".\t????"?+?car[i?-?1].name()?+?"\t????"?+?car[i?-?1].price()?+?"元/天"?+?"\t????"); ????????????????????if?(car[i?-?1].name().equals("皮卡雪6"))?{ ????????????????????????System.out.println("載人:"?+?4?+?"?載貨:"?+?2?+?"噸"); ????????????????????}?else?if?((i?-?1)?==?0?||?(i?-?1)?==?1?||?(i?-?1)?==?3)?{ ????????????????????????System.out.println("載人:"?+?car[i?-?1].space()?+?"人"); ????????????????????}?else?if?((i?-?1)?==?4?||?(i?-?1)?==?5)?{ ????????????????????????System.out.println("載貨:"?+?car[i?-?1].space()?+?"噸"); ????????????????????} ????????????????} ????????????????System.out.println("請輸入您要租汽車的數量:"); ????????????????int?number?=?scannerInt.nextInt(); ????????????????Car[]?num?=?new?Car[number]; ????????????????if?(number?!=?0)?{ ????????????????????for?(int?i?=?1;?i?<=?number;?i++)?{ ????????????????????????System.out.println("請輸入第"?+?i?+?"輛車的序號:"); ????????????????????????int?choice?=?scannerInt.nextInt(); ????????????????????????if?(choice?<?1?||?i?>?6)?{ ????????????????????????????System.out.println("您輸入的序號不存在,請重新輸入!"); ????????????????????????????i--; ????????????????????????}?else?{ ????????????????????????????num[i?-?1]?=?car[choice?-?1]; ????????????????????????} ????????????????????} ????????????????????double?money?=?0; ????????????????????System.out.println("請輸入租車天數:"); ????????????????????int?day?=?scannerInt.nextInt(); ????????????????????for?(int?i?=?0;?i?<?num.length;?i++)?{ ????????????????????????money?=?money?+?num[i].price(); ????????????????????} ????????????????????System.out.println("您的賬單:"); ????????????????????System.out.println("***可載人的車有:"); ????????????????????int?sum?=?0; ????????????????????for?(int?i?=?0;?i?<?num.length;?i++)?{ ????????????????????????if?(num[i].name().equals("奧迪A4")?||?num[i].name().equals("馬自達6")?||?num[i].name().equals("金龍")?||?num[i].name().equals("皮卡雪6"))?{ ????????????????????????????System.out.print(num[i].name()?+?"???"); ????????????????????????????if?(num[i].name().equals("皮卡雪6"))?{ ????????????????????????????????sum?+=?4; ????????????????????????????}?else?{ ????????????????????????????????sum?=?sum?+?num[i].space(); ????????????????????????????} ????????????????????????} ????????????????????} ????????????????????for?(int?i?=?0;?i?<?num.length;?i++?)?{ ????????????????????????if?(num[i].name().equals("奧迪A4")?||?num[i].name().equals("馬自達6")?||?num[i].name().equals("金龍")?||?num[i].name().equals("皮卡雪6"))?{ ????????????????????????????System.out.println("共載人:"?+?sum?+?"人"); ????????????????????????????break; ????????????????????????} ????????????????????} ????????????????????System.out.println("***可載貨的車有:"); ????????????????????for?(int?i?=?0;?i?<?num.length;?i++)?{ ????????????????????????if?(num[i].name().equals("皮卡雪6")?||?num[i].name().equals("松花江")?||?num[i].name().equals("依維柯"))?{ ????????????????????????????System.out.print(num[i].name()?+?"???"); ????????????????????????????if?(num[i].name().equals("皮卡雪6"))?{ ????????????????????????????????sum?+=?2; ????????????????????????????}?else?{ ????????????????????????????????sum?=?sum?+?num[i].space(); ????????????????????????????} ????????????????????????} ????????????????????} ????????????????????for?(int?i?=?0;?i?<?num.length;?i++)?{ ????????????????????????if?(num[i].name().equals("皮卡雪6")?||?num[i].name().equals("松花江")?||?num[i].name().equals("依維柯"))?{ ????????????????????????????System.out.println("共載貨:"?+?sum?+?"噸"); ????????????????????????????break; ????????????????????????} ????????????????????} ????????????????????double?amount?=?money?*?day; ????????????????????System.out.println("***租車總價格:"?+?amount?+?"元"); ????????????????}?else?{ ????????????????????System.out.println("您沒有選擇任何車輛!"); ????????????????} ????????????????break; ????????????case?0: ????????????????System.exit(0); ????????????????break; ????????????default: ????????????????System.out.println("您輸入的選擇不存在"); ????????} ????} }2019-01-17