我经常参加编程比赛,其中最重要的部分是获取用户的输入,因为我们通常使用两件事
- 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/