-3

嗨,当用户输入某个数字时,我试图输出一行。但是,即使您输入另一个数字,同一行也会不断出现。我究竟做错了什么?

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
4

3 回答 3

1

第 1 步:删除所有inputx变量 - 它们没用。

第 2 步:将所有测试更改为:

if (itemSelect == 1)

等等。您需要测试输入的内容(而不是其他内容)。

于 2013-09-28T02:42:11.957 回答
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;
 }
于 2013-09-28T02:41:21.543 回答
0

您没有对保存到 itemSelect 中的用户输入做任何事情。

您的第一个 if 语句将您硬编码为 1 的 input1 与 1 进行比较。这将始终返回 true。并导致跳过其余部分。

于 2013-09-28T02:38:43.603 回答