首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>java教程>资讯:Java获取一个包含空格的输入

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基础教程:怎么向程序输入信息

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图