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、如何从键盘输入数字字符?用如getchar()函数时即可,即从键盘输入7,获得即是字符'7'。 2、只有在输入完数据再按回车键后,该行数据才被送入内存上的键盘缓冲区里,形成输入流。 而在输入完数据...
  • haiross
  • haiross
  • 2015年06月10日 13:32
  • 3420

C语言中scanf函数输入回车符的问题

在用c语言编写输入语句的时候常用到scanf函数,初学者在刚用scanf函数输入时,经常会遇到各种各样的输入错误,最重要的是一定要记住scanf函数的输入格式,scanf函数里包含了哪些东西,输入的时...
  • Cover_sun
  • Cover_sun
  • 2016年10月17日 22:09
  • 4146

UNIX_C 环境下实现输入一个字符,不用回车直接输入功能(类型windows下_getch(void)函数)

UNIX_C 环境下实现输入一个字符,不用回车直接输入功能(类型windows下_getch(void)函数) /* int getch ( void ); 输入流获取一个信号当键盘输入一...
  • passer_by_hq
  • passer_by_hq
  • 2016年07月06日 15:59
  • 496

C/C++字符串输入方法比较(带回车不带回车输入)

C/C++字符串输入方法比较(带回车不带回车输入)
  • guo8113
  • guo8113
  • 2014年09月10日 11:10
  • 2926

使用scanf函数时有时会把回车也读入,最终让回车传入缓冲区

使用scanf时可能会出现的数据错误的问题
  • specklelion
  • specklelion
  • 2016年05月14日 08:32
  • 3440

正确显示textarea中输入的回车和空格

在textarea中输入的文本。如果含有回车或空格。在界面上显示的时候则不哪么正常。回车消失了,空格变短了。 如何解决这个问题呢。有2种方法。 1.使用标签    w3c对pre元素是这样定义的...
  • z69183787
  • z69183787
  • 2013年03月15日 13:30
  • 3819

在浏览器输入一个网址,按回车之后发生了什么

当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引发的一系...
  • baoendemao
  • baoendemao
  • 2014年10月31日 19:00
  • 3122

C/C++输入过程中检测回车符作为程序输入结束的若干问题

C/C++程序中经常在输入过程中通过判断是否输入回车符来判断程序是否结束。针对此应用,对存在的若干问题进行说明。 1.示例程序1——C语言 1.1 程序源码      输入一系列未知个数的数字,然后...
  • lbsgrowup
  • lbsgrowup
  • 2015年08月02日 14:48
  • 5485

C语言关于格式说明里包含回车

#include void main() { int index; scanf("%d\n",&index); printf("%d\n",index); } 这是一个简单的程序,细心的你一...
  • icefoshu
  • icefoshu
  • 2015年10月13日 23:46
  • 417

C和C++中实现循环读入若干数据,并以回车结束读入

C //#include #include int main(int argc, char* argv[]) { int array[10] = {0}; int i=0; int inde...
  • daa20
  • daa20
  • 2016年03月14日 22:00
  • 2617
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Notes(2):键盘输入回车的一个小讨论
举报原因:
原因补充:

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