gpt4 book ai didi

java - 为什么我的方法在 System.in.read() 循环后被调用 3 次

转载 作者:行者123 更新时间:2023-12-04 11:38:58 26 4
gpt4 key购买 nike

我已经开始学习Java,写了一些非常简单的东西,但是有一点我不明白:

public static void main(String[] args) throws java.io.IOException
{
char ch;

do
{
System.out.println("Quess the letter");
ch = (char) System.in.read();
}
while (ch != 'q');
}

为什么 System.out.println 在给出错误答案后打印三次“Quess the letter”。在给出任何答案之前,字符串只打印一次。

提前致谢

最佳答案

因为当您打印 char 并按 Enter 时,您会产生 3 个符号(在 Windows 上):字符、回车和换行:

q\r\n

您可以在此处找到更多详细信息:http://en.wikipedia.org/wiki/Newline

对于您的任务,您可能希望使用更高级别的 API,例如扫描仪:

    Scanner scanner = new Scanner(System.in);
do {
System.out.println("Guess the letter");
ch = scanner.nextLine().charAt(0);
} while (ch != 'q');

关于java - 为什么我的方法在 System.in.read() 循环后被调用 3 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29469859/

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