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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea最新激活码2021[在线序列号][通俗易懂]

    idea最新激活码2021[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    325
  • iframe属性

     iframe:在网页里设置一个子窗口            target="_blank"额外跳转一个网页            target="_top" 当前网页跳转            target标签取消的话 子网页跳转            target="name属性" 在name…

    2022年4月5日
    54
  • 录屏软件Kap使用经验分享「建议收藏」

    录屏软件Kap使用经验分享「建议收藏」Kap是一款非常实用又简单的录屏软件。https://getkap.co/点击右上角的下拉菜单GETKAP,选择对应你的MACOS的版本。这个到底要选择哪个呢?点击你MACOS系统左上角的白苹果图标,点击关于本机查看里面处理器这行:如果是Intel处理器就选用DownloadforApple(Intel)如果是其他处理器,就是选用DownloadforApple(M1)点击Chrome浏览器里的下载内容找到你刚才下载的软件记录点击在Finde

    2022年9月25日
    1
  • navicat premiun15激活码【最新永久激活】2022.02.25

    (navicat premiun15激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    730
  • pytorch交叉熵损失函数_yolov5损失函数

    pytorch交叉熵损失函数_yolov5损失函数均方损失函数:这里,loss,x,y的维度是一样的,可以使向量或者矩阵,i是下标。很多的loss函数都有size_average和reduce两个布尔类型的参数,因为一般损失函数都是直接计算batch的数据,因此返回的loss结果都是维度为(batch_size,)的向量。1)如果reduce=False,那么size_average参数失效,直接返回向量形式的loss2)如果…

    2022年9月17日
    2

发表回复

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

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