我正在学习java,并且无法弄清楚为什么扫描器类只用于1号整数,而不是用于我的java代码中的另一个数字。例如,如果我从用户那里得到2的响应,它就不会什么都有。 我认为我完美地制作了PlaceOrder和SellItem方法,但是从用户那里获取2或3或4的输入并没有显示任何结果。我在Item类中创建了一个PlaceOrder方法,并通过用户输入为2来调用该方法。虽然在输入时按2,但它没有显示所需的结果。
主要课程
import java.util.Scanner;
public class ItemTest{
public static void main(String [] args) {
Item product = new Item("Wrench",15,15%10+15,"Craftsmen Tool",20,5,7);
Scanner scan = new Scanner(System.in);
System.out.println("Enter a Action");
System.out.println("1:Show Item \n" + "2.Sell an Item\n" + "3.Place an Order \n" + "4.Quit");
if (scan.nextInt()==1) {
System.out.println(product.toString());
}
if (scan.nextInt()==2) {
System.out.println(product.SellItem());
}
if (scan.nextInt()==3) {
System.out.println(product.PlaceOrder());
}
if (scan.nextInt()==4) {
System.out.println("Thankyou for your visit");
}
}
答案 0 :(得分:1)
尝试改变这一点:
if (scan.nextInt()==1) {
System.out.println(product.toString());
}
if (scan.nextInt()==2) {
System.out.println(product.SellItem());
}
if (scan.nextInt()==3) {
System.out.println(product.PlaceOrder());
}
if (scan.nextInt()==4) {
System.out.println("Thankyou for your visit");
}
到
int choice = scan.nextInt();
if ( choice ==1) {
System.out.println(product.toString());
} else if ( choice ==2) {
System.out.println(product.SellItem());
} else if (choice==3) {
System.out.println(product.PlaceOrder());
} else if (choice==4) {
System.out.println("Thankyou for your visit");
}
否则,每个如果期望/等待另一个输入。