亲宝软件园·资讯

展开

Java之next()、nextLine() Java之next()、nextLine()区别及问题解决

~清~ 人气:0
想了解Java之next()、nextLine()区别及问题解决的相关内容吗,~清~在本文为您仔细讲解Java之next()、nextLine()的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Java之next()、nextLine()的区别,Java之next()、nextLine()的区别和问题解决,下面大家一起来学习吧。
Scanner scanner = new Scanner(System.in);
System.out.println("请输入商品编号:");
String id = scanner.next();
System.out.println("请输入商品名称:");
String name = scanner.nextLine();

上面的代码,执行时会出现一个问题:输入第一个值商品编号后,还没输入第二个值商品名称就直接结束了,也就是只接收了第一个值。

怎么回事?如下

首先说下next()和nextLine()各自的特点:

在上述问题中,当输入第一个值后,按回车,next()只读取了有效字符,不包括回车。于是这个回车就留下了,而第二个值是以回车为结束符的,于是就直接读取了回车,所以第二个值没手动输入内容就直接结束了。

解决方法是:在第二个值nextLine()前再加一个nextLine()来接收第一个值留下的回车,保证下一个nextLine()接收的是正确的内容。

Scanner scanner = new Scanner(System.in);
System.out.println("请输入商品编号:");
String id = scanner.next();
scanner.nextLine();    // 加上一个nextLine(),接收next()留下的回车
System.out.println("请输入商品名称:");
String name = scanner.nextLine();

加载全部内容

相关教程
猜你喜欢
用户评论