关于Java中Enter的疑问
书中,在Java的标准输入输出流这一节中的一个例子后面说到:Java语言把Enter键当作两个字符"\r"和"\n",其在ASCII码中的值分别是13和10.
《Java程序设计基础(第6版)——陈国君》清华大学出版社 P186第5行

这是前面所说的例子是:P185【例10.4】 
但是本人在将代码输入IDEA并运行时发现与书本不一致:
import java.io.*;
public class app10_4 {
public static void main(String[] args)
{
try {
byte [] b = new byte[128];
System.out.print("请输入字符:");
int count =System.in.read(b);
System.out.println("输入的是:");
for (int i = 0 ; i < count ; i++)
System.out.print(b[i]+" ");
System.out.println();
for (int i = 0 ; i < count-2; i++)
System.out.print((char) b[i]+" ");
System.out.println();
System.out.println("输入的字符个数是:"+count);
Class InClass = System.in.getClass();
Class OutClass = System.out.getClass();
System.out.println("in所在的类是"+InClass.toString());
System.out.println("out所在的类是"+OutClass.toString());
}
catch (IOException e){}
}
}
运行结果是:
请输入字符:abc 输入的是: 97 98 99 10 a b 输入的字符个数是:4 in所在的类是class java.io.BufferedInputStream out所在的类是class java.io.PrintStream
请输入字符:abc 输入的是: 97 98 99 10 a b c 输入的字符个数是:4 in所在的类是class java.io.BufferedInputStream out所在的类是class java.io.PrintStream
对比分析可见Java语言中的Enter键只占一个字符,即"\n" ASCII码为10,与书中所说冲突,本人学识浅薄,查觉无人说此疑问,郁闷不解。
望各位指出其中真正正确的道理,感谢。
|