如何修复运行时错误-线程“main”java.util.NoSuchElementException中的异常

Posted

技术标签:

【中文标题】如何修复运行时错误-线程“main”java.util.NoSuchElementException中的异常【英文标题】:How to fix runtime error - Exception in thread "main" java.util.NoSuchElementException 【发布时间】:2019-03-30 05:47:26 【问题描述】:

我在尝试运行我的程序时遇到以下错误。这实际上是 Hackerrank 的“第 6 天让我们回顾”挑战的提交。

线程“main”中的异常 java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) 在 java.util.Scanner.next(Scanner.java:1371) 在 Solution.main(Solution.java:10)

这是我的代码:

public static void main(String[] args) 
    Scanner sc = new Scanner(System.in);
    int T = sc.nextInt();
    for(int i=0; i<=T; i++)
        String S = sc.next();

        for(int j=0; j<S.length(); j++)
            if(j%2==0)
                System.out.print(S.charAt(j));
            
        

        System.out.print(" ");

        for(int r=0; r<S.length(); r++)
            if(r%2!=0)
                System.out.print(S.charAt(r));
            
        
        System.out.println("");

    

【问题讨论】:

【参考方案1】:

试试这个

public static void main(String[] args) 
    Scanner sc = new Scanner(System.in);
    int T = sc.nextInt();
    for(int i=0; i<=T; i++)
        if(!sc.hasNext()) break;
        String S = sc.next();

        for(int j=0; j<S.length(); j++)
            if(j%2==0)
                System.out.print(S.charAt(j));
            
        

        System.out.print(" ");

        for(int r=0; r<S.length(); r++)
            if(r%2!=0)
                System.out.print(S.charAt(r));
            
        
        System.out.println("");

    

没有下一个元素时抛出java.util.NoSuchElementException。为避免这种情况,您应该使用 hasNext() 进行检查。

阅读本文了解更多详情:https://www.tutorialspoint.com/java/util/scanner_hasnext.htm

【讨论】:

这里是例外的文档:docs.oracle.com/javase/8/docs/api/java/util/… 这是一个已经回答的问题:***.com/questions/19106753/… 我认为这是重复但不确定【参考方案2】:

您的代码非常好。 无需使用 hasNext() 方法,因为您不使用集合或数组 我刚刚测试了你的代码,它运行良好。 你的错误一定是因为别的原因

【讨论】:

以上是关于如何修复运行时错误-线程“main”java.util.NoSuchElementException中的异常的主要内容,如果未能解决你的问题,请参考以下文章

如何修复颤振 lib/main.dart 错误

使用 Firebase 进行 iOS 开发时如何修复致命错误?

如何修复 ibtool 失败并出现 Main.storyboard 错误:shouldBeArchived 无法识别

如何修复pyinstaller中的no dbm clone found错误

如何修复“线程 1:致命错误:在展开可选值时意外发现 nil”错误? [复制]

如何从情节提要“Main”中修复,但没有获得 UITableView。代码