为什么我的Java扫描器不接收输入?

为什么我的Java扫描器不接收输入?,java,Java,我不明白为什么第15行不接受任何输入,任何帮助都将不胜感激:3 输出 请输入问题的第一个数字!所以你选择了2552 选择你的第二个号码你现在选择41作为你的第二个号码 输入ur运算符 由于某种原因,输出在最后一行结束并停止,并且不获取任何信息 您需要在调用in.nextLine的行之后立即调用in.nextLine。原因是,仅请求下一个整数不会占用输入中的整行,因此您需要通过调用in.nextLine提前跳到输入中的下一个新行字符 每次调用不占用整行的方法后需要获得新行时,例如调用nextBoo

我不明白为什么第15行不接受任何输入,任何帮助都将不胜感激:3

输出

请输入问题的第一个数字!所以你选择了2552 选择你的第二个号码你现在选择41作为你的第二个号码 输入ur运算符

由于某种原因,输出在最后一行结束并停止,并且不获取任何信息

您需要在调用in.nextLine的行之后立即调用in.nextLine。原因是,仅请求下一个整数不会占用输入中的整行,因此您需要通过调用in.nextLine提前跳到输入中的下一个新行字符

每次调用不占用整行的方法后需要获得新行时,例如调用nextBoolean等,都必须执行此操作。

调用s.nextInt读取下一个int,但不读取其后的新行字符。因此,新行将在第15行读取。如果您确定每个输入都将放在一个单独的行中,那么您可以通过在第15行之前添加一个额外的s.nextLine来解决此问题:

int a2 = s.nextInt();
s.nextLine();

在获取字符串输入部分,请尝试此操作

...
System.out.print(" Now enter ur operator ");
s.nextLine();
String b1 = s.nextLine();
...

你能发布你的输出吗?我用一个字符串来做这件事,我想输入一个整数:@Phoenix请重新阅读我的答案,这是你问题的解决方案。我会在我的5分钟结束后;
...
System.out.print(" Now enter ur operator ");
s.nextLine();
String b1 = s.nextLine();
...
`System.out.print(" Now enter ur operator ");
    String b1 =s.next();
    if (b1.equalsIgnoreCase("-")) {
        System.out.println("You chose " + b1 + "as ur operator");
}`