栏目导航
热点推荐
- 三十条有用的 Java 编程规则
- Java制作水印图片源码
- Java常见异常及可能的导致原因
- Java中的修饰词使用方法总结
- J2EE系统异常的处理准则
- Java中的异常、断言、日志解析(
- Java面试技巧:Java面试题集锦(
- 面向Java开发人员的Scala指南:
- Java程序员:一刻钟精通正则表达
- 网友经验分享:学好java开发的关
- 专家解答:创建表格与数据库进行
- Java远程访问Domino数据库
阅览排行
Java获取一个包含空格的输入
www.jz123.cn 2010-03-12 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
I LOVE THIS GAME
的时候,系统显示给我们却只是一个 “I”,这是因为Scanner取得输入的键或者是回车键的时候,Scanner就会返回到下一个输入。依据是空格符,当输入为空格键,TAB。
那怎么获取一个包含空格的输入呢?可以使用下面的方法:
import java.io.*; public class Input{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入一行文字,可以有空格:"); String str = br.readLine(); System.out.println(str); } } |
保存为Input.java文件后(注意这里,保存文件名必须与类名保持一致)编译并运行,就可以实现输入:
I LOVE THIS GAME
I LOVE THIS GAME
下面来分析这段代码,首先出现了一个
import java.io.*; |
这里表明我们将要使用的这个类是放在java.io下面的某个包中的,*表示 所有内容,比如用到的BufferedReader和InputStreamReader都是java.io中的类。
? BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); |
上节课我们使用的获得输入的方法中定义了一个
Scanner s = new Scanner(System.in); |
这里可能会让人觉得迷惑,我们知道“=”前面的是定义了一个引用变量br,后面呢new表示新建了一个BufferedReader对象,通过“=”把两者联系起来了,在上面一句中,我们定义了一个BufferedReader类型的对象,这个对象是以一个InputStreamReader 对象为基础建立的,而这个对象是以System.in为基础建立起来的,然后可以通过br来实现从键盘获取输入,System.in是我们从键盘获取输入的工具。
这样说可能很难理解,还是举个例子:
我们修路,需要使用泥土,于是用铁锹来挖泥土,但是我们不能用铁锹来运送泥土,于是用箩筐来运送,但是工程很大,只用箩筐远远不够,于是我们用卡车来装送,这样效率是不是很高了呢?
BufferedReader就是这辆卡车,InputStreamReader就是箩筐,System.in才是直接获得输入的铁锹。
String str = br.readLine(); |
readLine()就是从键盘获取一行输入,可以包含空格的,直到我们敲下回车之前的内容都会保存在str里面,从最终的结果就很容易看出来了。
再看看我们的main方法,发现后面跟了个throws IOException。这是因为BufferedReader可能会出现一个异常,异常是我们在以后会专门研究的东西,现在写出来只是先熟悉一下,还是拿刚才的例子来解释这个异常:
我们的卡车可能在路上要经过一个桥,桥的载重是5t,但是我们的卡车却运了8t的东西,这个时候就会出现异常,于是我们事先声明:我们的车在路上可能会出现异常,要用的话出了问题就与我无关了。
同样,我们的BufferedReader可能会出现问题,我们事先在这里申明了,就如在烟盒上写个:吸烟有害健康一样。
当然,一般来说出异常不是那么容易的,只要我们认真处理,还是可以放心使用的。
好的,那我们到底用什么获取输入呢,Scanner还是BufferedReared?暂时还是用Scanner吧,看起来BufferedReader很麻烦,而且在后面还有一种情况很难获得输入,但是我们要知道在后面有一个专门的章节来研究输入输出,而所研究的内容都是BufferedReader的亲戚朋友,而且今后我们还可以用这样的流来读取文件内容、把内容写到文件里面去,这些都是Scanner做不到的。
当然我们肯定不会满足于只是写一些东西让显示器显示给我们,所以我们再研究一下用JAVA去做做算术吧,计算两个数的和、差、积、商。
public class Count{ public static void main(String[] args){ int i = 9527; int j = 4527; int m = i - j; System.out.println(m); m = i*j; System.out.println(m); m=i+j; System.out.println(m); m=i/j; System.out.println(m); } } |
上一篇:Java入门基础教程:Hello world程序 下一篇:Java基础教程:怎么向程序输入信息