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)
上一篇 2022年5月4日 下午3:40
下一篇 2022年5月4日 下午4:00


相关推荐

  • expdp时遇到ORA-31693&ORA-02354&ORA-01466

    expdp时遇到ORA-31693&ORA-02354&ORA-01466

    2022年1月21日
    102
  • MPEG-2_mpeg编码模式包括

    MPEG-2_mpeg编码模式包括作者:haibara来源:pcicp.com本FAQ由(haibara)翻译,期间受到kaito_mkid(pcicp)帮助,在此感谢,由于Newbie的关系,如有翻译错误,还请各位指出,由Doom9的bond编撰的原文。译者注:基本专业名称我都以小括号形式加以解释,详细信息请自行查阅资料。什么是MPEG-4?MPEG-4(ISO14496)是由制定了我们熟知的MPEG-1(MP3,…

    2026年1月26日
    7
  • 贪吃蛇开源代码_java贪吃蛇小程序代码

    贪吃蛇开源代码_java贪吃蛇小程序代码Python实践小游戏——贪吃蛇程序分析+源码基于Windows控制台,不使用pygame等gui工具

    2022年8月10日
    7
  • ELK日志原理与介绍

    ELK日志原理与介绍ELK日志原理与介绍

    2022年4月22日
    49
  • 我的学习之路—Oracle数据库学习笔记

    我的学习之路—Oracle数据库学习笔记数据 是指所有能输入到计算机中并被计算机程序处理的符号的总称数据处理 是指各种形式的数据进行收集 储存 加工和传播的一系列活动的综合 其目的是从大量的原始的数据中抽取推导出对人们有用的信息 数据库是这样的数据集合 长期储存在计算机 数据库服务器 内 保障安全 有组织的管理 具有较小的冗余 有效管理 数据独立 可共享 多个用户可以对包含的数据进行共享 并发控制 权限管理等

    2026年3月26日
    3
  • mybtais-plus学习–BaseMapper提供的方法及SQL语句生成

    mybtais-plus学习–BaseMapper提供的方法及SQL语句生成这篇博客我们介绍一下关于 Mybatis Plus 相关的知识 Mybatis Plus 可以简单的理解为 Mybatis 的加强 其在 Mybatis 的基础上完成了一些封装 这样开发人员在使用起来就很容易和方便 确实是一个很好的框架 官网 Mybatis Plus 优点 Advantages 无侵入 Mybatis Plus 在 Mybatis 的基础上进行扩展 只做增强不做改变 引入

    2026年3月26日
    2

发表回复

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

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