关闭

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

标签: stringinputclass文档java
2531人阅读 评论(1) 收藏 举报
分类:

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个字节的形式存入到输入流中。

 

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:91086次
    • 积分:1224
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:19篇
    • 译文:0篇
    • 评论:11条
    最新评论