【发布时间】:2021-02-16 03:10:18
【问题描述】:
Scanner s = new Scanner(new File(filename));
while (s.hasNext())
{
if(s.next().contains(","))
{
String str= s.next().replaceAll("[^a-zA-Z0-9]", "");
List<String> brokenSentence = Arrays.asList(str.split(","));
writer.write(brokenSentence +"\n");
}
else
{
String edited = s.next().replaceAll("[^a-zA-Z0-9]", "");//error
writer.write(edited +"\n");
}
}
s.close();
如果没有上面的 if,有错误的行完美运行,我真的需要那部分。请帮我。错误是:
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1478)
at Programming_2021/free_time.Gutenburg2.main(Gutenburg2.java:67)
【问题讨论】:
-
您从中得到的确切错误是什么?您能否通过edit 提供问题中的完整信息?
-
不要调用
s.next()两次。 -
我将如何只使用它的一个实例?我应该将它存储在字符串中吗?
标签: java java.util.scanner nosuchelementexception