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


相关推荐

  • goland mac 激活码_在线激活

    (goland mac 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlB1CUVFARG8-eyJsaWNlbnNlSWQi…

    2022年3月31日
  • Cisco ACS AAA认证

    Cisco ACS AAA认证ACS认证、授权、审计,以及报文交互

    2022年6月3日
  • 如何排查jar包冲突_怎么检查网络冲突

    如何排查jar包冲突_怎么检查网络冲突在测试脚本编写和应用部署时,经常遇到的一个问题是:java.lang.NoSuchMethodError。这个问题产生的根本原因是运行时应用加载的jar包版本不是应用代码真正需要的版本。要解决这个问题,就要让应用加载真正“HasSuchMethod”的类所在的jar包。解决这个问题,我把它归纳为以下几步:验证加载内容、查找包含该类的jar包、查找应用适用的jar版本、查看出错应用加载的jar包位置

    2022年8月16日
  • 滑动窗口求最大值 leetcode 59

    滑动窗口求最大值 leetcode 59滑动窗口最大值问题利用递减队列实现Dequeuedequeue=newLinkedList<>();递减队列方法说明peekFirst获取队头元素pollFirsr队头元素出队offerLast==add在队尾插入新元素publicint[]maxSlidingWindow(int[]nums,intk){if(nums.length==0){returnnewint[0];}

    2022年7月13日
  • pycharm安装python3.6_python3.8怎么安装

    pycharm安装python3.6_python3.8怎么安装1.软件准备Python开发环境3.6以上PyCharm编辑器 Python开发环境3.6以上 浏览器谷歌最新版 浏览器驱动与浏览器版本匹配*资源包获取链接:https://pan.baidu.com/s/10n7MfZXtRNWnXJghT9xq2g提取码:w8mm 安装PyCharm 双击下载好的安装包“pycharm-community-2020.2.3.exe”,一路“Next”即可完成安装,可以修改默认安装路径。 安装P…

    2022年8月26日
  • 火眼金睛审核 一键轻松处理[通俗易懂]

    火眼金睛审核 一键轻松处理——学籍助手简介学籍助手是专为河北省义务教育学籍管理系统区县端开发的一款辅助工具(图)。该工具不影响原系统正常使用,只是扩充了一些实用功能,只是让学籍管理变得异常轻松简单(如您不是区县学籍管理员,请勿下载)。学籍助手具有严格的入库审核、强大的批量处理和轻松的数据对接功能,犹如为原学籍管理系统赋予一双慧眼、插上一对翅膀,从容处理繁杂的学籍变…

    2022年4月13日

发表回复

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

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