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

原创 2007年09月21日 16:11:00

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

 

 

相关文章推荐

从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。

/* * 从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如: 输入数字2,则程序输出: 1 2 4 3 输入数字3,则...

一个简单的模拟键盘输入类

  • 2009年03月14日 06:48
  • 2KB
  • 下载

C键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。

/* 键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。 */ #include #include int main () { //定义变量 char ch; ...

从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天

/* * 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Notes(2):键盘输入回车的一个小讨论
举报原因:
原因补充:

(最多只允许输入30个字)