gpt4 book ai didi

java.util.NoSuchElementException - 扫描仪读取用户输入的行为方式很奇怪

转载 作者:行者123 更新时间:2023-12-02 05:31:34 25 4
gpt4 key购买 nike

我试图通过扫描仪获取用户输入,并在 HackerRank 上提交此代码并收到上述异常。我尝试在我的机器上运行相同的测试用例,并且没有捕获异常,代码工作正常。我不太了解 Java 中的流,请帮助我找出错误。

import java.io.IOException;
import java.util.Scanner;

public class Solution{
public static void main(String a[]) throws IOException, Exception {
Scanner in = new Scanner(System.in);
int test = in.nextInt();
Scanner in1 = new Scanner(System.in);
if (test < 1 || test > 10) {
throw new Exception("Illegal test cases");
}
while (test-- > 0) {
// System.out.println("Enter patient dna");
String patient = in1.nextLine().toLowerCase();
// System.out.println("Enter virus dna");
String virus = in1.nextLine().toLowerCase();
int l = virus.length();
int i = 0;
int count = 0;
if (patient.length() > 100000 || virus.length() > 100000) {
throw new Exception("Input length out of bounds");
}
for (i = 0; i < patient.length() - virus.length() + 1; i++) {
String sub = patient.substring(i, i + l);
count = 0;
for (int j = 0; j < sub.length(); j++) {

if (virus.charAt(j) != sub.charAt(j)) {
count++;
}
}
if (count == 0 || count == 1) {
System.out.print(i + " ");
}

}

System.out.println();
}
}
}

最佳答案

NoSuchElementException 将被抛出,因为您试图从输入(Scanner)读取数据,其中数据已到达末尾。因此您必须通过检查 hasNext() 是 true 或 false 来读取输入(Scanner)。

希望这对您有帮助。

关于java.util.NoSuchElementException - 扫描仪读取用户输入的行为方式很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com