Java 异常捕获:读取员工信息并存储到 Map 集合

本示例演示了如何使用 Java 异常捕获机制读取 emp.txt 文件,将员工信息存储到 Map 集合中,并根据用户输入的员工姓名查找并输出员工信息。

代码示例:

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Map<String, Emp> map = new HashMap<>();
        try (BufferedReader br = new BufferedReader(new FileReader("emp.txt"))) {
            String line;
            while ((line = br.readLine()) != null) {
                String[] arr = line.split(",");
                Emp emp = new Emp(arr[0], Integer.parseInt(arr[1]), arr[2], Double.parseDouble(arr[3]));
                map.put(emp.getName(), emp);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入员工名字:");
        String name = scanner.nextLine();
        Emp emp = map.get(name.toLowerCase());
        if (emp != null) {
            System.out.println(emp);
        } else {
            System.out.println('查无此人');
        }
    }
}

代码功能:

  1. 读取 emp.txt 文件,每行代表一个员工信息,信息格式为:姓名,年龄,部门,薪资
  2. 使用 BufferedReader 读取文件内容,并使用 split() 方法将每行信息分割成字符串数组
  3. 创建 Emp 实例,将员工信息存储到 Emp 实例中
  4. 使用 HashMap 将员工姓名作为 key,Emp 实例作为 value 存储到 Map 集合中
  5. 接收用户输入的员工姓名,并使用 toLowerCase() 将输入的姓名转换为小写
  6. 使用 Map 集合的 get() 方法获取对应员工信息的 Emp 实例
  7. 如果获取到 Emp 实例,则输出该员工的信息;否则输出 '查无此人'

说明:

  • Emp 类未在代码示例中给出,请根据实际需求创建 Emp 类并实现 toString() 方法
  • 确保 emp.txt 文件存在于程序运行目录下
  • 代码示例中使用了 try-with-resources 语法,自动关闭 BufferedReader 资源
  • 代码示例使用了 toLowerCase() 方法将输入的姓名转换为小写,避免大小写敏感问题

原文地址: https://www.cveoy.top/t/topic/oGlM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录