繁体   English   中英

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

[英]How to fix runtime error - Exception in thread “main” java.util.NoSuchElementException

我在尝试运行程序时遇到以下错误。 这实际上是对Hackerrank的“Day 6 Let's review”挑战的提交。

java.util.Scanner.throwFor(Scanner.java:862)中的线程“main”java.util.NoSuchElementException中的异常,位于解决方案域的java.util.Scanner.next(Scanner.java:1371)(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("");

    }
}

尝试这个

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

你的代码非常好。 没有必要放一个hasNext()方法,因为你没有使用我刚刚测试过代码的集合或数组,而且效果很好。 你的错误必须是其他的东西

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM