Woods的专栏

学习和交流的平台

Notes(2):键盘输入回车的一个小讨论

Note2:

键盘输入回车的一个小讨论。

 

代码如下:

public class Test {

       public static void main(String args[]) throws IOException{

              char s[]=new char[20];

              System.out.println("Input:");

              int i=-1;

              do{

                     i++;

                     s[i]=(char) System.in.read();

                     System.out.println(s[i]);

              }while(s[i]!='/n');

              System.out.println(i);

       }

}

       当我们在输入提示后输入如下内容后:

       1234

并按回车键确认,我们会发现,程序输出的变量i的值不是3,也不是4,而是5

 

查询了java的帮助文档后,我们看到如下解释:

System.in.read()的作用是从输入流读取下一个数据字节。

 

通过验证,也可以发现上面程序数组中存放的数据如下表所示:

下标

0

1

2

3

4

5

‘1’

‘2’

‘3’

‘4’

‘/r’

‘/n’

注:1’ 1’表示存放的是字符 1

    2 ’/r’表示回车,其ASCII码值(十进制)为:013

    3 ‘/n’表示换行,其ASCII码值(十进制)为:010

 

也就是说,在输入1234并按Enter健后,Enter操作是被算成两个操作的:回车+换行,并以2个字节的形式存入到输入流中。

 

 
阅读更多
个人分类: Technical Documents
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Notes(2):键盘输入回车的一个小讨论

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭