Java Scanner

Java 的 Scanner 类是 Java 中一个非常有用的输入工具,它能够帮助开发者从键盘读取用户输入的数据,并将其作为不同类型的 Java 变量进行处理。

Scanner

Scanner 类的使用非常简单直观,首先需要创建一个 Scanner 对象,然后使用该对象的 next()、nextInt()、nextDouble() 等方法来读取用户输入的数据。

例如,下面的代码演示了如何使用 Scanner 类从键盘读取用户输入的字符串并输出:

import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String inputString = scanner.next();
        System.out.println("你输入的字符串是:" + inputString);
    }
}

运行该代码后,在控制台上会提示用户输入一个字符串,然后程序会读取用户输入的字符串并输出到控制台上。

请输入一个字符串:
hello
你输入的字符串是:hello

Scanner 类型

除了读取字符串外,Scanner 类还可以读取其他类型的数据,例如整数、浮点数、布尔值等。读取整数和浮点数时,可以分别使用 nextInt() 和 nextDouble() 方法,例如:

import java.util.Scanner;

public class ScannerDemo2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int inputInt = scanner.nextInt();
        System.out.println("你输入的整数是:" + inputInt);

        System.out.println("请输入一个浮点数:");
        double inputDouble = scanner.nextDouble();
        System.out.println("你输入的浮点数是:" + inputDouble);
    }
}

测试:

请输入一个整数:
1
你输入的整数是:1
请输入一个浮点数:
3.13
你输入的浮点数是:3.13

Scanner 读取文件

除了读取用户输入的数据,Scanner 类还支持通过文件或字符串来读取数据。例如,可以通过以下代码从文件中读取数据:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerDemo3 {
    public static void main(String[] args) throws FileNotFoundException {
        File inputFile = new File("pom.xml");
        Scanner scanner = new Scanner(inputFile);
        while (scanner.hasNextLine()) {
            System.out.println(scanner.nextLine());
        }
    }
}

在上面的代码中,我们首先创建了一个 File 对象来表示要读取的文件,然后使用 Scanner 类来读取文件中的数据并输出到控制台上。

Scanner 分隔符

还是 ScannerDemo 这个例子,如果我们直接输入: hello world ,发现只能输出 hello.

请输入一个字符串:
hello world
你输入的字符串是:hello

可以使用 scanner.useDelimiter() 来指定换行符号,下面的例子指定换行符为换行。

package com.wdbyte.scanner;

import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        scanner.useDelimiter(System.lineSeparator());
        System.out.println("请输入一个字符串:");
        String inputString = scanner.next();
        System.out.println("你输入的字符串是:" + inputString);
    }
}

测试:

请输入一个字符串:
hello world
你输入的字符串是:hello world

综上所述,Scanner 类是 Java 中一个非常有用的输入工具,它可以帮助开发者快速读取用户输入的数据,同时也支持从文件和字符串中读取数据。在实际开发中,开发者可以灵活使用 Scanner 类来满足不同的需求。

一如既往,文章中代码存放在 Github.com/niumoo/javaNotes.