为什么简单Java应用程序中的这个简单计数器会增加两倍?
我尝试的是简单地输入一个字符,然后点击回车键 我将看到:为什么简单Java应用程序中的这个简单计数器会增加两倍?,java,Java,我尝试的是简单地输入一个字符,然后点击回车键 我将看到: public class MyTestClass { public static void main(String[] args) throws Exception { char c; InputStreamReader reader = (new InputStreamReader(System.in)); System.out.println("Enter chars:");
public class MyTestClass {
public static void main(String[] args) throws Exception {
char c;
InputStreamReader reader = (new InputStreamReader(System.in));
System.out.println("Enter chars:");
OutputStream outputStream = new BufferedOutputStream(System.out);
int counter = 0;
do {
counter++;
c = (char) reader.read();
outputStream.write(c);
outputStream.flush();
System.out.println(counter);
} while (c != 'q');
}
}
\n
也是一个字符,每次按enter键都会添加一个字符。例如,使用<代码> NestLoin()/<代码>,或在看到空白字符时对其进行筛选(测试字符,如果它是空字符,则忽略它)。 当您键入Enter时,代码接收换行符。这就是为什么在
a1
和b3
之后出现一个空行的原因
如果要筛选出换行符,请检查c
中的'\n'
您的“回车”字符也被视为有效的输入字符。您可以使用条件过滤器,每次将回车或减量计数值减1
Enter chars:
a
a1
2
b
b3
4