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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我们知道可以用Scanner函数获取键盘值,也可以用输入输出流来进行获取输入值,但是这两种方法有什么区别呢?有大神来解答下吗?

评分

参与人数 3黑马币 +11 收起 理由
chniccs + 1
GXJ1236987450 + 5 淡定
qq471077336 + 5 淡定

查看全部评分

9 个回复

倒序浏览
膜拜大神~~32个赞~
回复 使用道具 举报
期待大神·
回复 使用道具 举报
等待大神出现
回复 使用道具 举报
我也是期待啊
回复 使用道具 举报
最强王者啊
回复 使用道具 举报
加油加油
回复 使用道具 举报
等待大神。
回复 使用道具 举报
Scanner其实还是挺好用的,可是,它的nextInt等非nextLine假如输入的并非预期的数据,则会报异常。
例如
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
假如你全部输入字母(非数字)就报异常。
这种情况,可以使用nextLine()来接收一行的字符串,使用Integer.parseInt()的方式来转换数据,并使用try...catch包裹之,就可以避免异常,使得程序更加友好。

另外,Scanner对付特种编码会很蛋疼,但,使用输入流,对付编码问题就很简单了。有现成的方法可以用。
回复 使用道具 举报
有三种方式。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马