Scanner对信息的读取(字符串读取不同方式的判别,以及在字符串与整数同时存在时的读取方法)

Scanner是java 中类似于c语言中scanf的存在,在使用Scanner时必须要利用import。

import java.util.Scanner;放在代码的最开始,类似于C的#include ,我们称之为导包。

利用Scanner对字符串,整数输入:

 此时我们看见在输入年龄后,按下回车,并没有让我们输入姓名,这是因为年龄在姓名之前输入姓名的语句将回车键默认位姓名,所以我们要尽量保证在nextLine()前面没有nextInt();

对于字符串的输入有nextLine()和next()之分:

 现在我们将字符串和整数的输入换成了正确位置,运行时却出现了错误,此时可以看到我们将字符串的输入nextLine()换成了next(),那如果时nextLine()又会怎样,还会有错吗?

 可以看到没有出现问题。

所以nextLine()和next()的区别在哪?

输入姓名我们都知道姓和名之间时有空格的;

在使用next()时它并不能识别空格后的内容,在遇到空格之后就停止了,所以对于后面int类年纪的输入,对计算机来说我们输入了一个字符串,这于类型并不匹配,所以出现了错误;

对于nextLine(),它可以识别一行的内容,所以空格没有影响。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值