我正在尝试这个代码片段-
import java.io.*;
class demo
{
public static void main(String args[]) throws IOException
{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
int c;
do
{
c= (char)br.read();
System.out.println(c);
}while(c!='q');
}
}
现在,当我输入22输出为-50501310
我理解输出50,50,但为什么编译器要打印13和10?请帮忙。谢谢
我认为13和10是CR/LF:行的末尾。
您的输入是
22<enter>
所以你的2的ascii是50,因此22 50 50
按Enter键会使Windows在密钥缓冲区中存储回车代码(ASCII 13)和换行代码(ASCII 10),因此您可以在输出中看到13和10。
你也可以在这里推荐一个好的博客http://www.javaworld.com/article/2075069/core-java/the-ins-and-outs-of-standard-input-output.html