当前位置:首页 > Java

java如何使用scanner

2026-03-04 06:00:56Java

使用Scanner类读取输入

Scanner类是Java中用于读取用户输入的实用工具类,位于java.util包中。它可以解析基本类型和字符串,支持从多种输入源(如控制台、文件等)读取数据。

基本用法

  1. 导入Scanner类 在代码开头添加导入语句:

    import java.util.Scanner;
  2. 创建Scanner对象 通常用于读取控制台输入时,需要传入System.in作为参数:

    Scanner scanner = new Scanner(System.in);
  3. 读取不同类型的数据 Scanner提供了多种方法来读取不同类型的数据:

    • next():读取字符串(以空格分隔)
    • nextLine():读取整行文本
    • nextInt():读取整数
    • nextDouble():读取双精度浮点数
    • nextBoolean():读取布尔值

示例代码

import java.util.Scanner;

public class ScannerExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入您的姓名:");
        String name = scanner.nextLine();

        System.out.print("请输入您的年龄:");
        int age = scanner.nextInt();

        System.out.print("请输入您的身高(米):");
        double height = scanner.nextDouble();

        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age);
        System.out.println("身高:" + height + "米");

        scanner.close();
    }
}

注意事项

  1. 输入类型匹配 当使用nextInt()等方法时,如果用户输入的类型不匹配,会抛出InputMismatchException异常。可以在读取前使用hasNextInt()等方法检查输入是否合法。

  2. 换行符问题 在混合使用nextLine()和其他nextXxx()方法时,可能会遇到换行符被意外读取的问题。可以在读取非字符串数据后调用一次nextLine()来消耗换行符。

  3. 资源关闭 使用完Scanner后,应该调用close()方法释放资源,特别是在读取文件时。

读取文件示例

Scanner也可以用于读取文件内容:

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

public class FileScannerExample {
    public static void main(String[] args) throws Exception {
        Scanner fileScanner = new Scanner(new File("example.txt"));

        while(fileScanner.hasNextLine()) {
            System.out.println(fileScanner.nextLine());
        }

        fileScanner.close();
    }
}

处理异常

为了程序的健壮性,应该添加异常处理:

java如何使用scanner

import java.util.InputMismatchException;
import java.util.Scanner;

public class SafeScanner {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        try {
            System.out.print("请输入一个整数:");
            int num = scanner.nextInt();
            System.out.println("您输入的是:" + num);
        } catch (InputMismatchException e) {
            System.out.println("输入的不是有效整数!");
        } finally {
            scanner.close();
        }
    }
}

分享给朋友:

相关文章

如何查看java版本

如何查看java版本

查看 Java 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

java如何打开

java如何打开

安装Java开发环境 下载并安装Java Development Kit (JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH变量正…

react如何使用路由

react如何使用路由

使用 React Router 的基本方法 React Router 是 React 应用中实现路由功能的核心库。以下是基本使用方法: 安装 React Router 依赖包: npm insta…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

java如何连接mysql

java如何连接mysql

连接 MySQL 数据库的基本步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,在 pom.xml 中添加以下依赖: <dependency…