Java 使用System.in.read()时打印附加行
努力学习java。这是一个简单的函数,但是我得到的结果是Java 使用System.in.read()时打印附加行,java,Java,努力学习java。这是一个简单的函数,但是我得到的结果是 public class DWDemo { public static void main(String args[]) throws java.io.IOException { char ch; do { System.out.print("Press a key followed by ENTER: "); ch = (char) System
public class DWDemo {
public static void main(String args[]) throws java.io.IOException {
char ch;
do {
System.out.print("Press a key followed by ENTER: ");
ch = (char) System.in.read();
} while (ch != 'S');
}
}
系统将打印“在Intellij中按一个键,然后按Enter:”两次,在eclipse中打印三次
请帮忙 因为您正在从控制台读取字符。每个“回车”='\n'将被视为一个字符。那么你的
(char)System.in.read()
取2个字符并循环,它读取的每个字符和“回车”都会递增。
按一个键,然后按ENTER
在上面的代码中看不到这一点吗?是的,我只是不明白在输入一个假值后,它会打印两次。似乎您应该从命令行运行它。同意霍比特人!!我同意@YoungHobbit,但是如果你想要换行符\n
,那是因为实际字符后面有一个新的换行符。我建议您使用标准文本阅读。后续问题。为什么我使用Intellij打印两次,在Eclipse上尝试三次?
Press a key followed by ENTER: D
Press a key followed by ENTER: Press a key followed by ENTER: G
Press a key followed by ENTER: Press a key followed by ENTER: E
Press a key followed by ENTER: Press a key followed by ENTER: F
Press a key followed by ENTER: Press a key followed by ENTER: S