我被困在試圖爲我的程序創建一個switch語句。爲了充分披露,這是明天將要完成的家庭作業。我應該使用switch語句來指定CD銷售總費用的折扣率。非會員可獲得15%的黃金,10%的白銀,5%的青銅和0%的青銅。Java Switch Statement,折扣折扣
這是我的程序到目前爲止。我還沒有得到輸出,但只要我不能通過這個開關,這應該不成問題。
public static void main(String[] args) {
//Variables
String firstName = null;
String lastName = null;
int songs;
double cost;
int membership;
double serviceCharge;
double productCharge;
double baseCharge;
//Keyboard input
Scanner keyboard = new Scanner(System.in);
//Gathering information from the user
System.out.println("Enter your first name:");
firstName = keyboard.nextLine();
System.out.println("Enter your last name:");
lastName = keyboard.nextLine();
System.out.println("Enter the number of songs downloaded:");
songs = keyboard.nextInt();
System.out.println("enter the cost per song:");
cost = keyboard.nextDouble();
System.out.println("Enter the status of membership:"
+ "3 represents a gold member"
+ "2 represents a silver member"
+ "1 represeents a bronze member:"
+ "0 represents a nonmember");
membership = keyboard.nextInt();
//Here is where the math starts
baseCharge = cost * songs;
serviceCharge = baseCharge;
if (songs <= 8)
serviceCharge = .07 * baseCharge;
else if (songs > 8 && songs <= 15)
serviceCharge = .04 * baseCharge;
else if (songs > 15 && songs < 20)
serviceCharge = .02 * baseCharge;
else if (songs <= 20)
serviceCharge = 0;
productCharge = baseCharge + serviceCharge;
switch (membership)
{
case 3: productCharge * .15;
break;
case 2:
break;
case 1:
break;
case 0:
break;
default:
break;
}
很明顯,你不能在switch語句中使用double,但我迷路了。我應該如何分配折扣率而不使用雙重摺扣?你需要小數來正確地做數學運算。或者我看着這完全錯誤?
一旦我完成了程序的其餘部分,這就是輸出結果的樣子。
輸入你的名字: 約翰 輸入您的姓氏: 母鹿 進入下載的歌曲數量:每首歌曲輸入的成本: 0.99 輸入會員的狀態: 3代表黃金會員 2代表銀會員 1代表青銅會員; 0代表非會員:全名:李四 下載的歌曲數量:$ 0.99 服務費:$ 0.32 小計:$ 7.60 稅額:$ 0.36 總費用:$ 7.58
對不起,每首歌曲的8 價格文本的牆。非常感謝您提供任何幫助。
非常感謝,這對我的項目非常有幫助。現在我要完成剩下的工作了! – Akmar275
@ Akmar275沒問題!如果您發現此答案是正確的,請按照以下步驟標記它:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –