import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class AddEmployee {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        boolean isValid = false;
        while (!isValid) {
            System.out.println("请输入员工信息(格式:姓名,年龄,性别,薪水,入职日期),用逗号分隔:");
            String input = scanner.nextLine();
            String[] infos = input.split(",");
            try {
                // 验证姓名
                String name = infos[0].trim();
                if (name.length() < 1 || name.length() > 20 || !name.matches("[a-zA-Z]+")) {
                    throw new IllegalArgumentException("姓名不符合要求(1-20个英文字符)");
                }
                // 验证年龄
                int age = Integer.parseInt(infos[1].trim());
                if (age < 0 || age > 100) {
                    throw new IllegalArgumentException("年龄不符合要求(0-100之间的整数)");
                }
                // 验证性别
                String gender = infos[2].trim();
                if (!gender.equals("男") && !gender.equals("女")) {
                    throw new IllegalArgumentException("性别不符合要求(只能是“男”或“女”)");
                }
                // 验证薪水
                double salary = Double.parseDouble(infos[3].trim());
                // 验证入职日期
                String hireDate = infos[4].trim();

                // 所有输入都符合要求,可以添加员工
                String employee = name + "," + age + "," + gender + "," + salary + "," + hireDate;
                BufferedWriter writer = new BufferedWriter(new FileWriter("emp.txt", true));
                writer.write(employee);
                writer.newLine();
                writer.close();
                System.out.println("员工信息已添加成功!");
                isValid = true;
            } catch (NumberFormatException e) {
                System.out.println("年龄或薪水格式不正确!");
            } catch (IllegalArgumentException e) {
                System.out.println(e.getMessage());
            } catch (IOException e) {
                System.out.println("写入文件出错!");
            }
        }
    }
}
``
java使用异常捕获机制完成下述IO操作 编写程序要求下面的类实现功能 添加新员工 要求用户输入一个员工信息格式如下 jackson25男50002008-12-22 用户输入后需要做下述验证 要求用户名长度在1-20个字符之间且必须是英文 年龄在0-100之间的整数 性别只能是男或女 当发现用户输入有不符合

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

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