gpt4 book ai didi

java - 扫描仪 HasNextLine 总是返回 false

转载 作者:行者123 更新时间:2023-11-30 09:09:32 25 4
gpt4 key购买 nike

我在使用 Scanner.hasNextLine() 时遇到了这个奇怪的问题。我没有使用 Scanner 类,但我习惯使用 Scanner.hasNextLine() 作为循环的条件来连续获取用户的输入,但在这部分代码中它总是返回 false !

public static void main(String[] args) throws IOException {
String s = "";
Scanner ssc = new Scanner(System.in);
Client cli = new Client();
cli.HLO();
Thread t = new Thread(new ThreadMessage(cli));//Thread that asks user for input using Scanner and closing it then
t.start();
boolean b = ssc.hasNextLine();
while (true) {
b = ssc.hasNextLine();
System.out.println(b);
if (b) {
s = ssc.nextLine();
System.out.println("you wrote" + s);
cli.dp.setData(s.getBytes());
cli.ds.send(cli.dp);
}
}
}

作为输入,我只有一个带有单词 false 的循环行

有人知道它为什么会这样吗?

编辑: 似乎错误来自使用另一个扫描仪的 HLO 函数,我将其删除,现在它可以正确表达。

最佳答案

尝试使用.hasNext()方法,而不是使用.hasNextLine()方法。
您遇到问题是因为 .hasNextLine() 如果此扫描仪的输入中有另一行,则方法返回 true。但是,如果此扫描器的输入中有另一个标记,则 .hasNext() 方法会返回 true。

引用:http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

关于java - 扫描仪 HasNextLine 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23021770/

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