创建基本菜单时,为什么可以';我没弄好吗-JAVA

创建基本菜单时,为什么可以';我没弄好吗-JAVA,java,menu,Java,Menu,我正在介绍Java类,直到现在我还没有遇到任何问题。我不知道我是否只是一个傻瓜,答案很简单,但事情就是这样 我需要创建一个简单的菜单。我提示用户,然后他们输入一个整数来选择一个选项。但也需要有一个选项来输入“X”并退出程序 Scanner in = new Scanner(System.in); System.out.println("Welcome to the Math Study Guide!"); System.out.println("Which arithmetic

我正在介绍Java类,直到现在我还没有遇到任何问题。我不知道我是否只是一个傻瓜,答案很简单,但事情就是这样

我需要创建一个简单的菜单。我提示用户,然后他们输入一个整数来选择一个选项。但也需要有一个选项来输入“X”并退出程序

Scanner in = new Scanner(System.in);
    System.out.println("Welcome to the Math Study Guide!");
    System.out.println("Which arithmetic table would you like to use?");
    System.out.println("1) Addition");
    System.out.println("2) Subtraction");
    System.out.println("3) Multiplication");
    System.out.println("4) Division");
    System.out.println("X) Exit the program");
    int input = in.nextInt();


    if (input <= 5 )
        {if (input == 1){System.out.println("Addition");}
        {if (input == 2){System.out.println("Subtraction");}
        {if (input == 3){System.out.println("Multiplication");}
        {if (input == 4){System.out.println("Division");}

    else {System.out.println("You have exited");}
Scanner-in=新的扫描仪(System.in);
System.out.println(“欢迎来到数学学习指南!”);
System.out.println(“您希望使用哪个算术表?”);
系统输出打印项(“1)添加项”);
System.out.println(“2)减法”);
System.out.println(“3)乘法”);
系统输出打印(“4)分部”);
System.out.println(“X)退出程序”);
int input=in.nextInt();

如果(input如某些注释中所述,您的问题是数据类型。如果有人在程序中输入“X”,则应为整数值,而不是

要使程序正常工作,需要将数据类型从int改为String

String input = in.next();
这将为您获取输入

现在做一个switch/case,而不是if语句

switch (input) {
    case "1" : System.out.println("Addition");
    break;
    case "2" : System.out.println("Subtraction");
    break;
    deafult: System.out.println("You have exited the program");
    break;
}
如果您不熟悉switch/case语句:case“1”检查输入是否等于“1”。如果为true,它将打印“加法”,然后重要的是进行中断;否则它将继续检查输入是否等于“2”,依此类推。
如果没有其他匹配项,则默认分支将被激活。因此,如果您的输入为例如“r”,则您的程序也将写入“You have exited the program”(您已退出该程序)。如果您不想这样做,只需添加另一个大小写“x”写你的东西。

是的。你不需要使用
nextInt
,而是需要一个
char
并转换成
int
。你已经有了它。你知道它在
nextInt
中阻塞了
X
。你可以只使用
next()
方法,该方法返回一个字符串,然后将输入与“1”、“2”等进行比较。还建议使用
开关
大小写而不是if语句。@ShawnMehan我不太清楚将其转换为int是什么意思,你能详细说明一下吗?@Siddhartha我已经尝试过了,但它一直告诉我next()这不是我能做的有效的事情。@Brandon我刚试过,它对我有效:
String input=in.next();