当前位置:首页 > 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提供了多种方法来读取不同类型的数据:

    java如何使用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()来消耗换行符。

    java如何使用scanner

  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();
    }
}

处理异常

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

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如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java如何创建数组

java如何创建数组

创建数组的基本方法 在Java中,数组是固定大小的同类型元素集合。创建数组需要声明数组类型并初始化。 声明数组 语法格式为 数据类型[] 数组名 或 数据类型 数组名[]: int[] arr1;…

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

react 如何使用 apply

react 如何使用 apply

使用 apply 方法的基本概念 在 JavaScript 中,apply 是函数原型上的方法,用于调用函数时指定 this 的值和传递参数数组。React 中可以使用 apply 来绑定组件方法或调…

如何导入java项目

如何导入java项目

导入Java项目的方法 使用IDE导入(如IntelliJ IDEA或Eclipse) 打开IDE后选择导入现有项目,导航至项目根目录(包含pom.xml或build.gradle的文件位置)。IDE…