System.in的问题.
int i; while((i=System.in.read())!=-1){...}
String str; while((str=System.in.readLine())!=null){...}
这两个语句都是控制从屏幕输入的,我想问一下:我要是输入完毕,这两个语句是如何判断我输入完了呢?
第一个语句中判断i是否为-1,我输入一个什么代表-1呢?
第二个语句判断是str是否为null,我又输入一个什么代表null呢?
搜索更多相关的解决方案:
System
----------------解决方案--------------------------------------------------------
当输入为控制字符 回车时 输入完毕
程序往下一步执行
----------------解决方案--------------------------------------------------------
谢谢,
可是, 我不知道控制字符是键盘上的哪个键.按哪个键代表输入了控制字符"-1",哪个键又代表"null"呢?
----------------解决方案--------------------------------------------------------
是回车吗?
----------------解决方案--------------------------------------------------------
什么都不输入就是null
----------------解决方案--------------------------------------------------------
从命令行输入,比如说
javac FileName.java
java FileName -1
java FileName //null
----------------解决方案--------------------------------------------------------
查API文档
----------------解决方案--------------------------------------------------------
read:当输入的字符流到达末尾的时候,会返回“-1”,
readLine:读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
返回:
包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
----------------解决方案--------------------------------------------------------