【问题标题】:how to resolve NoSuchElementException in java如何在 java 中解决 NoSuchElementException
【发布时间】:2019-05-01 05:59:08
【问题描述】:

我写的代码如图:

我还应该包括什么来删除这个 NoSuchElementFound 异常

我尝试过包含 HasMoreElements(),HasNextInt() 但这也没有用

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

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

【问题讨论】:

  • 这段代码还能编译吗?
  • Scanner input = new Scanner(System.in); while (input.hasNextInt()) { int n = input.nextInt(); if (n > 0) { int a[] = new int[n]; } }

标签: java exception java.util.scanner


【解决方案1】:
        Scanner input = new Scanner(System.in);
        while(input.hasNext()){
            int n = input.nextInt();
            int a[] = new int[n];
            ...
        }

【讨论】:

    【解决方案2】:

    我认为你需要声明't'

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

    【讨论】:

      【解决方案3】:

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

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

      希望对你有帮助!

      【讨论】:

        猜你喜欢
        • 2020-09-25
        • 1970-01-01
        • 2020-10-04
        • 2021-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-09
        • 1970-01-01
        相关资源
        最近更新 更多