当前位置: 首页 > 面试题库 >

为什么我的Java扫描仪不接受输入?

秋和雅
2023-03-14
问题内容
package Lessons;

import java.util.Scanner;

public class Math {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.print("please enter the first number of your question! ");
        int a1 = s.nextInt();
        System.out.print("So you chose " + a1);
        System.out.println(" Choose ur second number");
        int a2 = s.nextInt();
        System.out.print("You chose " + a2 + " for your second number");
        System.out.print(" Now enter ur operator ");
        String b1 = s.nextLine();
        if (b1.equalsIgnoreCase("-")) {
            System.out.println("You chose " + b1 + "as ur operator");
        }
    }

}

我不明白为什么第15行不做任何输入,将不胜感激:3

输出量

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

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


问题答案:

您需要在调用in.nextLine()行的后面立即调用in.nextInt(),原因是仅要求下一个整数不会占用输入中的整个行,因此您需要通过调用来跳至输入中的下一个新行字符in.nextLine()

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

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



 类似资料:
  • 因此,我是一个新的Java程序员,我正试图弄清楚为什么一段代码不能工作。我遇到的问题是“String interests=input.nextLine();”这一行,它跳过了用户的输入并跳转到下一个System.out,所以它只显示“Your Profile...”。在允许用户输入任何数据之前。抱歉,如果这是一个愚蠢的问题,我是很新的!

  • 我正在编写一个程序,帮助火星定居者计算他们潜在房屋的面积/大小。程序的整个前半部分按预期工作,但由于某种原因,当我提示用户是否愿意输入第二所房子时,我的扫描仪不再接受任何输入,程序执行结束,不允许我键入yes或no作为响应,它只是打印出用户提示并中断。我到底做错了什么?

  • 任何人都可以帮我解决这个问题。我接受三个输入:整数、双精度和字符串,但Scanner类不接受字符串值

  • 问题内容: 因此,我是一名新Java程序员,我试图弄清楚为什么一段代码无法正常工作。我遇到的问题是:“字符串兴趣= input.nextLine();”,它跳过了用户的输入并跳至下一个System.out,因此它仅在控制台中显示“您的个人资料…”在允许用户输入任何数据之前。抱歉,这是一个愚蠢的问题,我很新! 问题答案: 这样说: 其余代码可能与您上面的代码相同。 编辑: 它必须是这样的(我的意思是

  • 我编写了一个函数来接收用户输入。找不到正确答案。总是失败。我现在疯了。

  • 我是一名初级java程序员。我正在尝试编写一个简单的程序,根据物质的半衰期来计算一种物质在你体内的残留量,以及根据何时以及如何服用药物来计算何时达到平衡(后者尚未完成)。 我最初遇到了扫描仪资源泄漏的问题,但我在这里找到了答案。然而,现在我已经修复了扫描仪,我似乎不能初始化一个常量double变量作为用户输入。扫描仪本身工作,变量获得输入值,但是java一直拒绝它,说“剂量不能被解析为变量”。我甚