java scanner 结束输入_Java Scanner语法

java scanner 结束输入_Java Scanner语法1 导入 importjava util Scanner 2 创建对象 Scannerscan newScanner System in 一般变量名为 scan 或者 in 最后关闭 scan close 和 I O 流有关 暂不清楚 照抄先 3 next 读取字符串 要读取到有效字符后才结束输入 不能读取空格 即遇到空格就停 Scannerscan newScanner Syste

1.导入:

import java.util.Scanner;

2.创建对象

Scanner scan = new Scanner(System.in);//一般变量名为scan或者in

最后关闭,scan.close();和I/O流有关,暂不清楚,照抄先。

3.next()

读取字符串,要读取到有效字符后才结束输入,不能读取空格,即遇到空格就停。

Scanner scan = newScanner(System.in);

String s1= newString();

String s2= newString();

String s3= newString();

s1=scan.next();

s2=scan.next();

s3=scan.next();

System.out.println(s1);

System.out.println(s2);

System.out.println(s3);if(scan.hasNext())

System.out.println(“Yes”);

输入:123 456 789 1011

输出:

123

456

789

Yes

s1第一次读取到有效字符1,遇到4前的空格结束第一次输入;随后s2遇到第一个有效字符4,遇到空格结束;s3遇到第一个有效字符7,同理遇到空格结束,此时还有未读取的字符在缓冲区里,用hasNext()判断;

4.hasNext()

判断是否还有输入的数据,不能识别空格或回车,还会吃掉空格或者回车,连续的空格加回车一次性全部吸收掉,ACM里用循环读取下一组数据。

5.nextLine()

和next()类似,唯一不同就是,next()遇到空格或者回车就断了,nextLine()遇到回车才断,空格也算是有效字符,从第一个有效字符开始直到回车,中间无论多少空格都能吃下。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

packagemy_acm;importjava.util.Scanner;public classMyTest10 {public static voidmain(String[] args) {

Scanner scan= newScanner(System.in);

String s1= newString();

String s2= newString();

String s3= newString();

String s4= newString();

s1=scan.next();

s2=scan.next();

s3=scan.next();

s4=scan.nextLine();

System.out.println(s1);

System.out.println(s2);

System.out.println(s3);

System.out.println(s4);if(scan.hasNext())

System.out.println(“Yes1”);if(scan.hasNextLine())

System.out.println(“Yes2”);

}

}/输入:123 456 789 1011 12 13 14 15

输出:

123

456

789

1011 12 13 14 15

s4把9后面的全部字符全部都吃下去了,没有未读取的字符*/

nextLine()

6.hasNextLine()

可以判断空格和回车,但是不会吃掉任何字符。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

importjava.util.Scanner;public classMyTest10 {public static voidmain(String[] args) {

Scanner scan= newScanner(System.in);

String s1= newString();

String s2= newString();

String s3= newString();

String s4= newString();

s1=scan.next();

s2=scan.next();

s3=scan.next();

System.out.println(s1);

System.out.println(s2);

System.out.println(s3);if(scan.hasNext())

System.out.println(“Yes1”);if(scan.hasNextLine())

System.out.println(“Yes2”);

scan.close();

}

}

测试hasNext()会吃掉空格,hasNextLine()不会

48e0eb16075c5dbb30dae881781e5bae.png

78de574ad9b91595a4952f6d97f6e645.png

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

importjava.util.Scanner;public classMyTest10 {public static voidmain(String[] args) {

Scanner scan= newScanner(System.in);

String s1= newString();

String s2= newString();

String s3= newString();

String s4= newString();

s1=scan.next();

s2=scan.next();

s3=scan.next();

System.out.println(s1);

System.out.println(s2);

System.out.println(s3);if(scan.hasNextLine())

System.out.println(“Yes2”);if(scan.hasNextLine())

System.out.println(“Yes3”);if(scan.hasNext())

System.out.println(“Yes1”);

scan.close();

}

}

测试hasNext()会吃掉空格,hasNextLine()不会

2a83b54551c37f9a96468f41a4191c76.png

a41b6f9483fec2bdb54ca24512286a34.png

通过比较可以知道hasNextLine()可以判断空格和回车,并且不会吸收字符;

但是如果先遇到hasNext(),空格加回车全都被吃掉,后续接上hasNextLine()判断不到还有空格和回车。

7.其他类型的输入

nextDouble();

nextLong();

nextInt();

nextFloat();

nextByte();

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

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

(0)
上一篇 2026年3月16日 下午9:23
下一篇 2026年3月16日 下午9:24


相关推荐

  • 友盟多渠道获取渠道名,后台显示市场标识

    友盟多渠道获取渠道名,后台显示市场标识

    2021年10月1日
    48
  • 章节1:SQL语言简易入门

    章节1:SQL语言简易入门

    2022年2月23日
    48
  • Velocity常用语法「建议收藏」

    Velocity常用语法「建议收藏」一、基本语法1、"#"用来标识Velocity的脚本语句,包括#set、#if、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;如:#if($info.imgs)<imgsrc="$info.imgs"border=0>#else<imgsrc="noPhoto.jpg">#end2、"$"用来标识一个对象(或理解

    2026年4月14日
    8
  • PXE 批量安装 Ubuntu 20.04

    PXE 批量安装 Ubuntu 20.04原文链接:https://www.cpweb.top/1698一、介绍  Ubuntu20.04的服务器安装程序支持新的操作模式:自动安装(automatedinstallation)。自动安装可以通过自动安装配置提前回答所有这些配置问题,并使安装过程无需任何交互即可运行。  在Ubuntu18.04中,用的应答文件是preseeds(预配置文件),它基于debian-installer(akadi)来实现自动安装的。需要注意的是,如果你使用的是cobbler,那你应…

    2022年6月17日
    42
  • Java 链表结点插入

    Java 链表结点插入PS:链表是一种数据结构,而数据结构就是一种存放数据的方式。为什么需要链表?我们知道,数组也可以存储数据,那么为什么还需要链表呢?接下来,我们来看看数组和链表的区别:1、数组就像身上编了号站成一排的人,要找第10个人很容易,根据人身上的编号很快就能找到。但插入、删除慢,要往某个位置插入或删除一个人时,后面的人身上的编号都要变。当然,加入或删除的人始终末尾的也快。2、链表就…

    2022年4月30日
    43
  • 【即梦AI教程】1.即梦AI界面讲解

    【即梦AI教程】1.即梦AI界面讲解

    2026年3月13日
    4

发表回复

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

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