gpt4 book ai didi

Java 扫描仪在读取文件时不工作

转载 作者:行者123 更新时间:2023-12-01 18:00:09 24 4
gpt4 key购买 nike

public class Test {

static private Scanner x;

public static void main(String args[])
{
try {
x=new Scanner(new File("C:\\Users\\scoda\\workspace\\Nikhil\\src\\chinese.txt"));
x.useDelimiter(" ");
while(x.hasNext())
{

String a=x.next();
String b=x.next();
String c=x.next();
System.out.println(a+b+c);

}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

我的输入文件是

12 karthik kk
23 gg gg

预期输出:

12karthikkk
23gggg

实际输出:

12karthikkk
23
java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)

我一直在尝试调试这个问题。感谢帮助。

最佳答案

因为您将分隔符更改为空格,所以换行符不计为分隔符,并且字符串中实际上只有 5 个标记:

  1. 12
  2. 卡提克
  3. kk

    23

  4. gg
  5. gg

您的代码在第二次调用 String c=x.next(); 时引发异常,因为没有第六个标记。如果删除 x.useDelimiter(""); 语句,它将使用 default whitespace delimiter ,它也会在换行符处拆分,从而产生 6 个标记。

关于Java 扫描仪在读取文件时不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41668412/

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