java输入Scanner基本用法[通俗易懂]

java输入Scanner基本用法[通俗易懂]1.基本介绍java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入,每个next获取输入对应的字符。Scannersc=newScanner(System.in);当我们通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext与hasNextLine判断是否还有输入的数据:next()–>hasNext() nextLine()–…

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

1.基本介绍

java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入,每个next获取输入对应的字符。

Scanner sc = new Scanner(System.in);

当我们通过 Scanner 类的 next()  nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用hasNext 与 hasNextLine 判断是否还有输入的数据

  • next() –>hasNext()
  • nextLine() —->hasNextLine()

2.使用举例 

hasNext和next测试

public static  void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        if (scanner.hasNext())
            System.out.println("输出:"+scanner.next());
        scanner.close();
    }
请输入:
测试一下   哈哈
输出:测试一下

hasNextLine和nextLine

public static  void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        if (scanner.hasNextLine())
            System.out.println("输出:"+scanner.nextLine());
        scanner.close();
    }
请输入:
测试一下   哈哈哈
输出:测试一下   哈哈哈

两者比较:

很明显,从结果来看,next获取下一个字符串,输入间隔为空格或回车时阶段,而nextLine则是获取一行数据。

next():

  • 一定要读取到有效字符后才可以结束输入。
  • 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • next() 不能得到带有空格的字符串。

nextLine():

  • 以Enter为结束符,也就是说 nextLine()方法返回输入回车之前的所有字符
  • 可以获得空白。
     

3.常用方式

scanner.nextLine().trim();//去掉输入两端的空格
String[] arrStr = scanner.nextLine().trim().split(" ");//将输入的一行按照空格拆分为数组


while (scanner.hasNextLine()){
            int len = Integer.parseInt(scanner.nextLine().trim());
            int[] arrInt = new int[len];
            String[] contentStr = scanner.nextLine().trim().split(" ");
            int i =0;
            for (String content:contentStr){
                arrInt[i++] = Integer.parseInt(content);
            }
    System.exit(0);
}

其他的获取输入方式:

hasNext()—-next()

hasNextInt()—-nextInt()

hasNextBoolean—-nextBoolean()

hasNextByte()—-nextByte()

hasNextShort()—-nextShort()

hasNextInt()—-nextInt()

hasNextLong()—-nextLong()

hasNextFloat()—-nextFloat()

hasNextDouble()—-nextDouble()

hasNextBigInteger()—-nextBigInteger()

hasNextBigDecimal()—-nextBigDecimal()

4.while循环输入scanner如何退出?

以下三种退出方式:

while (!scanner.hasNext("0") ){
//标志位退出
}
  while (scanner.hasNextLine() ){
//            代码段
            if(scanner.hasNext("0"))//内部标志退出
                break;
        }
  while (scanner.hasNextLine() ){
        //    代码段
           System.exit(0);//系统退出

        }

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

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

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


相关推荐

  • C语言指针的初始化和赋值

    1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。例如:inta=25;int*ptr=&a;intb[10];int*point=b;  int*p=&b[0];

    2022年4月18日
    55
  • IDEA 2021.02激活码(已测有效)

    IDEA 2021.02激活码(已测有效),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    266
  • Pycharm调用tensorflow的一些注意点「建议收藏」

    Pycharm调用tensorflow的一些注意点「建议收藏」其实,Pycharm功能非常强大,使用起来非常的简便,但遇到一些小问题,还是值得注意的.现在有很多小伙伴在研究深度学习都会接触到各种深度框架,tensorflow算是比较常见的一种.在使用Pycharm调用tensorflow的时候会报如下错误:ImportError:libcusolver.so.8.0:cannotopensharedobjectfile:Nosuch…

    2022年8月29日
    1
  • Arthas – Java 线上问题定位处理的终极利器「建议收藏」

    Arthas – Java 线上问题定位处理的终极利器「建议收藏」前言在使用Arthas之前,当遇到Java线上问题时,如CPU飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后jps、jstack、jmap、jhat、jstat、hprof等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用Arthas轻松定位,迅速解决,及时止损,准时下班。1、Arthas介绍Arthas是Alib…

    2022年10月22日
    0
  • win10网络重置命令net_win10 重置网络设置

    win10网络重置命令net_win10 重置网络设置经常遇到局域网无法互相访问、网络连接上但无法上网的问题。如果找不到愿意,可以暴力重置一下网络:win+x,管理员方式打开cmd;输入netshwinsockreset命令;可能需要重启操作系统。

    2022年10月29日
    0
  • 手把手教你opencv做人脸识别(附源码+文档)

    手把手教你opencv做人脸识别(附源码+文档)文章目录一、环境二、使用Haar级联进行人脸检测三、Haar级联结合摄像头四、使用SSD的人脸检测五、SSD结合摄像头人脸检测六、结语一、环境pipinstallopencv-pythonpython3.9pycharm2020人狠话不多,直接上代码,注释在代码里面,不说废话。二、使用Haar级联进行人脸检测测试案例:代码:(记得自己到下载地址下载对应的xml)#coding=gbk”””作者:川川@时间:2021/9/516:38https://github.

    2022年6月8日
    50

发表回复

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

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