3 回答

TA貢獻1797條經驗 獲得超4個贊
您可以使用switch語句來找出TicketType(兒童、成人、老年人)以及price單張票的票數:
double price;
switch(TicketType){
case 1:
price = ChildTicket;
break;
case 2:
price = AdultTicket;
break;
case 3:
price = SeniorTicket;
break;
default:
// use default value for price or throw an error
}
那么乘以price用TicketQuantity得到TotalCost:
double TotalCost = price * TicketQuantity;
注意: Java 命名約定說,變量應該總是以小寫字母開頭,而不是TotalCost喜歡totalCost等。

TA貢獻1890條經驗 獲得超9個贊
您可以將變量作為值存儲到雙精度數組中,然后可以使用 TicketType 中的索引訪問該值。像這樣:
int TicketType = 0;
double ticketsValues[] = [18.00,32.00,32.50]; //The first position is ChildTicket, the 2nd AdultTicket and so..
int TicketQuantity = 0;
double TotalCost = ticketsValue[TicketType] * TicketQuantity;//Here you access to the value depending on the TicketType.

TA貢獻1817條經驗 獲得超14個贊
有不同的方法來解決這個問題。
我建議Enum為不同類型的票創(chuàng)建一個。
public enum TicketType {
SENIOR(32.50D),
ADULT(36.00D),
CHILD(18.00D);
private final double price;
TicketType(double price) {
this.price = price;
}
public double getPrice() {
return price;
}
public double getCalculatedPrice(int ticketAmount) {
return price * ticketAmount;
}
}
相反,您也可以嘗試這種方式
int ticketType = 0; //change
double[] prices = {32.50D, 36.00D, 18.00D}; //Senior, Adult, Child
int ticketQuantity = 0; //change
int totalCost = prices[ticketType] * ticketQuantity;
您應該檢查的一些補充ticketType是不大于或小于prices大小以避免ArrayIndexOutOfBoundsException. 您還應該檢查數量是否不小于零。
添加回答
舉報