eclipse 使用scanner连续读入中文字符时出错 30

代码如下Scanners=newScanner(System.in);Stringstr=s.nextLine();a.setName(str);str=s.nextLi... 代码如下
Scanner s=new Scanner(System.in);
String str=s.nextLine();
a.setName(str);
str=s.nextLine();
a.setSex(str);
int i=s.nextInt();
a.setAge(i);
a.play();
输入:张三 回车 男回车之后即出现异常提示
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at testEmployee.main(testEmployee.java:27)
。如果输入信息全部为英文则可顺利通过,请问如何解决。
展开
 我来答
育知同创教育
2016-02-09 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
eclipse中使用scanner连续输入指定类型的字符是不会出错的。除非没有按照提示做。

Scanner s=new Scanner(System.in);
String str = s.nextLine(); // 读取下一行,是个String类型,输入的都不会报错

str = s.nextLine(); // 读取下一行,同理上

int i = s.nextInt();// 读取下一个int型数据,如果你输入abc,张三什么的,或者不能转换为数字的字符串时,就报错,你必须输入0到9的字符串

例如:下面每一行都有个回车,你测试下

张三

12
yugi111
2014-03-26 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
输入类型不匹配,你应该输入

字符串,回车
字符串,回车
数字,回车
就可以了
追问
如果按你这样输入,则姓名和性别的后面都多一个“,”符号。的确不会有异常,为什么必须输入“,”呢?
我原先的代码就是这么写的,测试数据也是这样做的,但是输入第二行的中文符号时就会出现异常。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sima0318
2014-03-26 · TA获得超过182个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:89.9万
展开全部
输入不匹配异常。如果setget和字符类型都对应了的话,通常是部署的问题,重新部署再执行一般就可以了。还有,你设置的sex这个字段是什么样的,我相信是String型,但是长度设置了么?是不是长度设置短了?这都是有可能的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式