如何在Java中解决NoSuchElementException

时间:2019-05-01 05:59:08

标签: java exception java.util.scanner

我写了如下代码:

要删除此NoSuchElementFound异常,我还应该包括什么

我已经尝试过包含HasMoreElements(),HasNextInt()了,但这都不起作用

Scanner input=new Scanner(System.in);
    t=input.nextInt();
    while(t>0)
    {
        int n=input.nextInt();
        int a[]=new int[n];

请尝试修改此代码,以免出现此异常。

3 个答案:

答案 0 :(得分:3)

        Scanner input = new Scanner(System.in);
        while(input.hasNext()){
            int n = input.nextInt();
            int a[] = new int[n];
            ...
        }

答案 1 :(得分:0)

我认为您需要声明't'

Scanner input=new Scanner(System.in);
int t=input.nextInt();
while(t>0)
{
    int n=input.nextInt();
    int a[]=new int[n];
}

答案 2 :(得分:0)

抛出此异常表示缓冲区中没有更多元素,但是您的代码期望一个&,并且基于您共享的代码有以下两种可能性:-

  1. 变量t不会递减:您应该在循环中的最后一条语句中以及最后一个正在使用的Continue语句之前添加“ t--”作为最后一条语句。
  2. 输入本身缺少必需的整数数量:为此,您可以采用Matthew或Sachin建议的任何方法。由于您声称hasNextInt()方法无效,因此您应该更新异常/错误和相关代码,以更好地了解情况。

希望有帮助!