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


相关推荐

  • MySQL——MySQL 图形化管理工具的介绍

    MySQL——MySQL 图形化管理工具的介绍文章目录MySQL——MySQL图形化管理工具的介绍1、MySQLWorkbench2、Navicat3、SQLyog4、DBeaver5、DataGripMySQL——MySQL图形化管理工具的介绍MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MysQLWorkbench、phpMyAdmin、NavicatPreminum、MySQLDumper、SQLyog、dbeaver、MysQLODBcConnector、DataGrip。1、MySQL

    2022年6月30日
    26
  • Android UI Design

    Android UI Design

    2021年9月6日
    58
  • 脉冲信号matlab仿真,脉冲积累matlab仿真[通俗易懂]

    脉冲信号matlab仿真,脉冲积累matlab仿真[通俗易懂]%T_7_1.m%相干积累clearallclcclfc=3e8;%speedoflightTe=100e-6;%发射脉冲宽度Be=1e6;%带宽mu=Be/Te;%调频斜率Ts=1/(2……雷达线性调频脉冲压缩的原理及其MATLAB仿真汇总_中职中专_职业教育_教育专区。LFM脉冲压缩雷达仿真线性调频(LFM)脉冲压缩雷达仿真宋萌瑞20142…

    2022年5月15日
    52
  • Eclipse汉化教程以及问题解决[通俗易懂]

    Eclipse汉化教程以及问题解决[通俗易懂]Eclipse汉化教程以及问题解决一.汉化过程1、打开eclipse文件夹内的文件readme/readme_eclipse查看该文件版本号。eg:我安装的是Release4.5.0版本号为4.5安装的是eclipse-jee-mars-1-win32-x86_64    进入到eclipse安装目录下,有一个.eclipseproduct文件,用记事本打开,就…

    2022年5月31日
    119
  • 点到圆的最近距离公式推导

    点到圆的最近距离公式推导该距离公式在 CircleFittin 相关的一篇文章中用到 现实现其推导过程 设圆的一般的方程形式 任一点 P 的坐标 点 P 到圆上点得最短距离的公式 推导过程 1 由圆一般方程形式可以推导出圆的标准方程形式 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 且有 即 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 圆心坐标 nbsp 半径 2 点到圆的最短距离 nbsp nbsp nbsp nbsp nbsp nbsp 点到圆的最短距离等于点到圆心的距离减去半径的绝

    2025年6月10日
    3
  • 【附源码+代码注释】误差状态卡尔曼滤波(error-state Kalman Filter),扩展卡尔曼滤波,实现GPS+IMU融合,EKF ESKF GPS+IMU

    【附源码+代码注释】误差状态卡尔曼滤波(error-state Kalman Filter),扩展卡尔曼滤波,实现GPS+IMU融合,EKF ESKF GPS+IMU2021年6月23日更新:发现了一个讲卡尔曼滤波特别好的视频,但是需要科学上网。卡尔曼滤波视频 最近在学习卡尔曼滤波器,今天抽出点儿时间总结一下! 我的所有源码都放在

    2022年6月22日
    40

发表回复

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

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