java - 通过控制台 Java 获取输入

标签 java

我经常参加编程比赛,其中最重要的部分是获取用户的输入,因为我们通常使用两件事

  • BufferedReader
  • 扫描仪

现在的问题是,有时上述每个问题在接受输入时都会出现以下错误 1. 空指针异常 2.NoSuchElementFoundException

下面是两者的代码

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n=Integer.parseInt(br.readLine());

扫描仪是

Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

谁能解释一下为什么会这样?

最佳答案

嗯,在一种情况下,您的 BufferedReader 为 null,因此 br.readLine() 会导致 NullPointerException。

同样,如果没有这样的下一个元素,则无法调用 sc.nextInt(),从而导致 NoSuchElementException。

解决方案:将其包装在 try/catch block 中。

关于java - 通过控制台 Java 获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43744606/

相关文章:

java - 将可绘制对象作为字节数组发送到android的jni部分

java - 根据数组中的键删除、更新文档

Java8 boolean 后置一元运算符

java - 禁用 JTree 节点的三键编辑,但保留键盘键进行编辑,以便在编辑之前保存节点的旧名称

java - Libgdx迭代加速动画?

java - 如何计算可能的最大 session 次数

java - 从工作灯加载 Java 中的特定证书

java - 如何通过 LOG4J 使用 SLF4jJ 将线程堆栈跟踪包含到日志中

java - 文件中最后读取的行打印为空

java - 加快随机过程