键盘读取字符串问题。

键盘读取字符串问题。

如果在本案例中我想读取带空格的字符串,并且不能在其它地方发生异常,该怎么做?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,nextLine前面有nextInt。nextInt输入的时候,回车并没有被读取,所以nextLine读取到的是回车。

如下:
http://img1.sycdn.imooc.com//climg/5eb154b5099cc55b04500340.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-05-05 18:46:16

同学你好,这是因为nextline是逐行输入,于是会自动读取基本类型省略掉的"enter"回车,结束读取。可以在nextLine前再建立一个不用的输入值。
如下:

http://img1.sycdn.imooc.com//climg/5eb143f109fed11703240059.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕容2892559 #1
    这是因为nextline是逐行输入,于是会自动读取基本类型省略掉的"enter"回车,结束读取。这句话是什么意思啊?看不太明白,可以结合例子讲解么?
    2020-05-05 18:51:17
好帮手慕阿慧 2020-05-05 14:05:35

同学你好,同学可以使用Scanner类的nextLine()方法,读取一行数据。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕容2892559 #1
    如果我想实现这样一个场景:从键盘读取输入的整数,如果数据格式不对则异常处理,然后输出这个整数。接下来从键盘读取输入的带空格的字符串,然后输出这个带空格的字符串。 我自己试了一下: import java.util.InputMismatchException; import java.util.Scanner; public class Test11 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int a=0; System.out.println("请输入整数:"); try { a = input.nextInt(); } catch (InputMismatchException e) { System.out.println("不是整数!"); input.next(); } System.out.println(a); System.out.println("请输入字符串:"); String b=input.nextLine(); input.close(); System.out.println(b); } } 代码有问题。。。
    2020-05-05 14:25:29
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师