Scanner的简单使用

Posted 我想月薪过万

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scanner的简单使用相关的知识,希望对你有一定的参考价值。

首先,我们得明白 Scanner 这个类是对 流的处理。System.in 是用户输入流。

代码示例

hasNext() 配合 next() 的使用
package OpenClosedPrinciple;

import java.util.Scanner;

/**
 * ClassName: OpenCloseTest <br/>
 * Description: <br/>
 * date: 2021/6/19 20:56<br/>
 *
 * @author yiqi<br />
 * @since JDK 1.8
 */
public class OpenCloseTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = null;
        while (scanner.hasNext()){
            str = scanner.next();
            System.out.println("N ->" + str);
        }
    }
}

hasNextLine() 配合 nextLine() 的使用
package OpenClosedPrinciple;

import java.util.Scanner;

/**
 * ClassName: OpenCloseTest <br/>
 * Description: <br/>
 * date: 2021/6/19 20:56<br/>
 *
 * @author yiqi<br />
 * @since JDK 1.8
 */
public class OpenCloseTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = null;
        while (scanner.hasNextLine()){
            str = scanner.nextLine();
            System.out.println("N ->" + str);
        }
    }
}

结果分析

从上面的运行结果可以很明显的看出:

  • 两者都是以 回车 作为用户输入的结束 
  • next() 以 空格 区分元素
  • nextLine() 以 回车 区分元素

还有 nextInt() 等其他函数,大家自行尝试,对比分析即可。

以上是关于Scanner的简单使用的主要内容,如果未能解决你的问题,请参考以下文章

创建自己的代码片段(CodeSnippet)

使用 SonarQube Scanner for MSBuild 控制模块名称

为啥这段代码会泄露? (简单的代码片段)

Eclipse常用命令+ 简单的自动售票程序

类 Scanner

白盒测试之静态代码扫描:SonarQube+Scanner环境搭建及使用