嗨我试图在用户输入一定数量时输出一行。但是,即使您输入另一个数字,同一条线仍会出现。我做错了什么?
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
答案 0 :(得分:1)
第1步:删除所有inputx
个变量 - 它们没用。
第2步:将所有测试更改为:
if (itemSelect == 1)
等。您需要测试输入的内容(而不是其他内容)。
答案 1 :(得分:0)
您没有对保存到itemSelect中的用户输入执行任何操作。
您的第一个if语句将您硬编码为1的input1与1进行比较。这将始终返回true。并导致跳过其余部分。
答案 2 :(得分: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;
}