A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 麦者 中级黑马   /  2013-10-17 18:59  /  1255 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 麦者 于 2013-10-18 08:23 编辑

键盘录入可以用InputStreamReader isr=new InputStreamReader(System.in);
        BufferedReader br= new BufferedReader(isr);
也可以用Scanner scan = new Scanner(System.in);貌似用第一种的多,有什么重要的区别么?

评分

参与人数 1技术分 +1 收起 理由
李江 + 1 这两个都能读取键盘录入,但是BufferedReade.

查看全部评分

4 个回复

倒序浏览
Scanner scan = new Scanner(System.in是经过包装的..
回复 使用道具 举报
1、Scanner类提供了非常方便的方法,如nextInt() ,可以将输入的内容转换成一个int,如nextFloat() 将一个输入内容转换成一个float,等等。而同过BufferedReader这种方式则需要读入一串字符串以后再转成你所需要的数据类型。
2、Scanner的扫描结束标志是空格,tab键,回车,当遇见3个中的任意一个,则Scanner就会返回下一个输入了,而BufferedReader的结束标志是回车。
源码:
  1. Scanner scanner = new Scanner(System.in);
  2.                 System.out.print("请输入一串字符串:");
  3.                 System.out.println("你输入的的是:" + scanner.next());
  4.                 System.out.println("你输入的的是:" + scanner.next());
  5.                 System.out.println("你输入的的是:" + scanner.next());
复制代码
控制台的输入输出:
请输入一串字符串:你好 中国        你好世界
你输入的的是:你好
你输入的的是:中国
你输入的的是:你好世界
”好“和”中“之间有个空格,”国“和”你“之间是个tab,”界“后是个回车。
回复 使用道具 举报
loading……99.9 发表于 2013-10-17 19:31
1、Scanner类提供了非常方便的方法,如nextInt() ,可以将输入的内容转换成一个int,如nextFloat() 将一个 ...

这样,那scanner的用法应该比较方便了
回复 使用道具 举报
InputStreamReader jdk1.1就有了,用的人自然多;Scanner类是JDK1.5新特性,更加便捷。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马