2013-09-28 127 views
-3

嗨即時嘗試輸出一行,當用戶輸入一定的數字。然而,即使你輸入另一個數字,同一行仍然出現。我究竟做錯了什麼?使用if else語句

public class apples{ 
    public static void main(String args[]){ 
     int input1=1; 
     int input2=2; 
     int input3=3; 
     int input4=4; 
     System.out.println("Welcome to MK Supermarket"); 
     System.out.println("Four items are available for sale:"); 
     System.out.println("1.Flour 2.Crix 3.Juice 4.Cereal"); 
      Scanner sales = new Scanner (System.in); 
     System.out.println("Press 1 for Flour, Press 2 for Crix, Press 3 for Juice, Press 4 for Cereal"); 

     int itemSelect=sales.nextInt(); 

     if(input1==1){ 
      System.out.println("You chose Flour"); 
      int price1=30; 
     } 
     else if(input2==2){ 
      System.out.println("You chose Crix"); 
      int price2=10; 
     } 
     else if(input3==3){ 
      System.out.println("You chose Juice"); 
      int price3=15; 
     } 
     else if(input4==4){ 
      System.out.println("You chose Cereal"); 
      int price4=25; 
     } 
     else{ 
      System.out.println("Invalid Entry"); 
     } 

    } 

} 

這是我寫到目前爲止的代碼。 這是結果:

Welcome to MK Supermarket 
Four items are available for sale: 
1.Flour 2.Crix 3.Juice 4.Cereal 
Press 1 for Flour, Press 2 for Crix, Press 3 for Juice, Press 4 for Cereal 
2 
You chose Flour 
+1

在你的代碼中,'input1'將始終爲'1'。你還會期待什麼?你想做什麼? –

+0

@ user2812509在您編寫代碼後,您必須通過它。它只是一個小錯誤 – gjman2

回答

0

你不這樣做與您保存到itemSelect用戶輸入任何內容。

您的第一條if語句比較了您硬編碼爲1的輸入1和1.這將始終返回true。並導致其餘的跳過。

0

如果你想根據你應該在輸入瓦爾到itemSelect條件改變輸入到顯示信息,就像這樣:

int itemSelect=sales.nextInt(); 

if(itemSelect==1){ 
    System.out.println("You chose Flour"); 
    int price1=30; 
} 
else if(itemSelect==2){ 
    System.out.println("You chose Crix"); 
    int price2=10; 
} 
else if(itemSelect==3){ 
    System.out.println("You chose Juice"); 
    int price3=15; 
} 
else if(itemSelect == 4){ 
    System.out.println("You chose Cereal"); 
    int price4=25; 
} 
+0

Thankyou非常, – user2812509

+0

另外,我已經把int price = 20,這允許我存儲這個日期嗎?因爲我需要使用這些值來計算總成本等等。所以當用戶選擇哪個項目時,這個價格將被存儲? – user2812509

+0

也是我能夠存儲的項目的價格,因爲我已經寫在代碼中。我稍後需要這些值來進行計算。 – user2812509

1

第1步:確定要刪除所有inputx變量 - 他們沒用。

第2步:所有的測試更改爲:

if (itemSelect == 1) 

等你需要測試輸入的內容(沒有別的東西)。