幫忙看一下代碼的問題
public class QiChe {
private String name;//車名
private int pnum;//載客
private int hnum;//載人
private int price;//租金
public QiChe(String name, int pnum, int hnum, int price) {
super();
this.name = name;
this.pnum = pnum;
this.hnum = hnum;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPnum() {
return pnum;
}
public void setPnum(int pnum) {
this.pnum = pnum;
}
public int getHnum() {
return hnum;
}
public void setHnum(int hnum) {
this.hnum = hnum;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int? sumPirce(int amounts ,int days) {
return amounts*days*price ;
}
}
//子類卡車
public class Trunk extends QiChe{
public Trunk(String name,int pnum,int hnum,int price) {
super(name, pnum, hnum, price);
}
}
//子類小車
public class Car extends QiChe{
public Car(String name, int pnum, int hnum, int price) {
super(name, pnum, hnum, price);
// TODO Auto-generated constructor stub
}
}
//子類皮卡
public class PickUp extends QiChe {
public PickUp(String name, int pnum, int hnum, int price) {
super(name, pnum, hnum, price);
// TODO Auto-generated constructor stub
}
}
//用戶使用
import java.util.Scanner;
public class Use {
public static void main(String[] args) {
// TODO Auto-generated method stub
//首先設置車的數據 用對象數組存放
QiChe[] trunks = {new Trunk("豐田貨車",0,20,500),new Trunk("暴龍貨車",0,10,300),new Trunk("貨拉拉",0,8,200)};
QiChe[] cars = {new Car("奧迪A6",8,0,1000),new Car("布加迪威龍",2,0,1500),new Car("一汽大眾",5,0,300)};
QiChe[] pickups = {new PickUp("不知道",2,5,300),new PickUp("叫什么",2,8,500),new PickUp("名字",4,10,800)};
System.out.println("welcome to DIDA");
System.out.println("plese choose some type of vehical to use");
System.out.println("請選擇:1只載人 2.只拉貨 3.拉貨且載人 ");
Scanner in1 = new Scanner(System.in);
int input1 = in1.nextInt();
switch(input1) {
case 1:
for(int i= 0;i<trunks.length;i++) {
System.out.println("編號"+i+"車型:"+trunks[i].getName()+" 載人數:"+trunks[i].getPnum()+" 載貨數:"+trunks[i].getHnum()+" 租金單日:"+trunks[i].getPrice());
}
break;
case 2:
for(int i= 0;i<cars.length;i++) {
System.out.println("編號"+i+"車型:"+cars[i].getName()+" 載人數:"+cars[i].getPnum()+" 載貨數:"+cars[i].getHnum()+" 租金單日:"+cars[i].getPrice());
}
break;
case 3:
for(int i= 0;i<pickups.length;i++) {
System.out.println("編號"+i+"車型:"+pickups[i].getName()+" 載人數:"+pickups[i].getPnum()+" 載貨數:"+pickups[i].getHnum()+" 租金單日:"+pickups[i].getPrice());
}
break;
default:System.out.println("請求失敗,請重新輸入");
}
System.out.println("請輸入車輛編號,租車天數,租車數量");
Scanner in2 = new Scanner(System.in);
int k = in2.nextInt();
Scanner in3 = new Scanner(System.in);
int m = in3.nextInt();
Scanner in4 = new Scanner(System.in);
int n = in4.nextInt();
if(input1 ==1) {
QiChe rent = trunks[k];
System.out.print("車型為"+rent.getName());
System.out.println("租金"+rent.getPrice()+"天數"+m+"車數"+n+"總金額為:"+rent.sumPirce(m, n));
}else if (input1 ==2) {
QiChe rent = cars[k];
System.out.print("車型為"+rent.getName());
System.out.println("租金"+rent.getPrice()+"天數"+m+"車數"+n+"總金額為:"+rent.sumPirce(m, n));
}else if(input1 ==3) {
QiChe rent = pickups[k];
System.out.print("車型為"+rent.getName());
System.out.println("租金"+rent.getPrice()+"天數"+m+"車數"+n+"總金額為:"+rent.sumPirce(m, n));
}else {
System.out.println("沒有此選項");
}
}
}
2019-04-16
載人對應case是1,是car吧;載貨對應case是2,是是trunks吧
2019-03-24
結果沒什么,但是那個switch不要寫default,因為你的default會導致程序繼續往下執行,而不會向你輸出的那樣重新輸入.還有碰到input.next()的時候程序應該會停止等待用戶輸入,所以你只要new一次Scanner就可以了,不需要new那么多次.
2019-03-23
載人對應case是1,是car吧;載貨對應case是2,是是trunks吧