我在尝试运行我的程序时遇到以下错误。这实际上是针对 Hackerrank 的“第 6 天让我们回顾一下”挑战的提交内容。
Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.next(Scanner.java:1371) at 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("");
}
}
最佳答案
试试这个
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
关于java - 如何修复运行时错误 - 线程 "main"java.util.NoSuchElementException 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55428579/