java的nextline_java中的nextline()「建议收藏」

java的nextline_java中的nextline()「建议收藏」今天在java上机课时遇到了个小问题,使用Scanner输入数据时,使用了一次nextInt(),一次nextLine(),却只接收了一个整数。代码如下code1:1packagecn.dx;23importjava.util.Scanner;45publicclassScannerTest{67publicstaticvoidmain(String[]args)…

大家好,又见面了,我是你们的朋友全栈君。

今天在java上机课时遇到了个小问题,使用Scanner输入数据时,使用了一次nextInt(),一次nextLine(),却只接收了一个整数。代码如下

code1:

48304ba5e6f9fe08f3fa1abda7d326ab.png

1 package cn.dx;

2

3 import java.util.Scanner;

4

5 public class ScannerTest {

6

7 public static void main(String[] args) {

8 Scanner in = new Scanner(System.in);

9 System.out.println(“请输入一个整数”);

10 while(in.hasNextInt()){

11 int num = in.nextInt();

12 System.out.println(“请输入一个字符串”);

13 String str = in.nextLine();

14 System.out.println(“num=”+num+”,str=”+str);

15 System.out.println(“请输入一个整数”);

16 }

17 }

18 }

48304ba5e6f9fe08f3fa1abda7d326ab.png

运行结果为:

请输入一个整数

1231

请输入一个字符串

num=1231,str=

请输入一个整数

第二个String类型的参数没有读取进来。

自己查看了下nextInt()和nextLine()方法的官方文档

nextLine()

Advances this scanner past the current line and returns the input that was skipped. This method returns the rest of the current line, excluding any line separator at the end. The position is set to the beginning of the next line.

nextInt()方法会读取下一个int型标志的token.但是焦点不会移动到下一行,仍然处在这一行上。当使用nextLine()方法时会读取改行剩余的所有的内容,包括换行符,然后把焦点移动到下一行的开头。所以这样就无法接收到下一行输入的String类型的变量。

之后改用了next()方法

code2.

48304ba5e6f9fe08f3fa1abda7d326ab.png

1 package cn.dx;

2

3 import java.util.Scanner;

4

5 public class ScannerTest {

6

7 public static void main(String[] args) {

8 Scanner in = new Scanner(System.in);

9 System.out.println(“请输入一个整数”);

10 while(in.hasNextInt()){

11 int num = in.nextInt();

12 System.out.println(“请输入一个字符串”);

13 String str = in.next();

14 System.out.println(“num=”+num+”,str=”+str);

15 System.out.println(“请输入一个整数”);

16 }

17 }

18 }

48304ba5e6f9fe08f3fa1abda7d326ab.png

运行后结果是正确的,运行结果如下。

请输入一个整数

123

请输入一个字符串

sdjakl

num=123,str=sdjakl

请输入一个整数

213 jdskals

请输入一个字符串

num=213,str=jdskals

请输入一个整数

试验后发现next()方法是以换行或者空格符为分界线接收下一个String类型变量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136398.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android图片文字识别器,图片转换文字识别器[通俗易懂]

    android图片文字识别器,图片转换文字识别器[通俗易懂]图片转换文字识别器是一款非常好用的功能非常强的图片转换文字手机工具,在图片转换文字识别器软件上有着非常多的功能,用户可以使用这款软件在我们工作中解决很多的问题和麻烦,是一款办公学习必备神器,感兴趣的朋友赶紧下载图片转换文字识别器开始使用吧!图片转换文字识别器软件介绍这款软件的使用方式也是超级简单的只要你想打印文字的图片上传就可以了上传之后,他经过简单的识别,只需要短短几秒之内就可以把你想要打印的文…

    2022年6月3日
    28
  • 好看的ppt网站_全球最大的论坛是哪个

    好看的ppt网站_全球最大的论坛是哪个www.slideshare.net

    2022年8月3日
    3
  • Visifire组件应用

    Visifire组件应用本文转载自:http://www.cnblogs.com/forgetu/archive/2010/06/07/Visifire-AxisLabels.html这篇中简单介绍一下Axis(坐标轴)的主要的几个属性的设置。Visifire废话少说,主要的几个属性及属性的设置和意思请看下面的示例代码和注释:viewsource…

    2022年7月21日
    10
  • java中集合转数组中_JAVA中集合转数组遍历[通俗易懂]

    java中集合转数组中_JAVA中集合转数组遍历[通俗易懂]JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray().代码:publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubCollectionc=newArrayList();c.add(newStudent(“kj”,12));c.add(newStude…

    2022年6月15日
    27
  • MySQL数据类型DECIMAL用法

    MySQL数据类型DECIMAL用法MySQL DECIMAL数据类型用于在数据库中存储精确的数值。我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。要定义数据类型为DECIMAL的列,请使用

    2022年7月1日
    20
  • js算法初窥03(搜索及去重算法)

    前面我们了解了一些常用的排序算法,那么这篇文章我们来看看搜索算法的一些简单实现,我们先来介绍一个我们在实际工作中一定用到过的搜索算法——顺序搜索。1、顺序搜索其实顺序搜索十分简单,我们还是以第一篇

    2022年3月25日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号