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

    String name = null;
    int age = 0;
    String gender = null;
    double salary = 0;
    String hireDate = null;

    while (true) {
        try {
            System.out.println("请输入员工信息,格式如下:");
            System.out.println("姓名,年龄,性别,薪水,入职日期");
            String employeeInfo = scanner.nextLine();
            String[] infoArray = employeeInfo.split(",");

            if (infoArray.length != 5) {
                throw new IllegalArgumentException("输入格式不正确,请重新输入");
            }

            name = infoArray[0].trim();
            if (!name.matches("[a-zA-Z]{1,20}")) {
                throw new IllegalArgumentException("姓名长度在1-20个字符之间且必须是英文,请重新输入");
            }

            age = Integer.parseInt(infoArray[1].trim());
            if (age < 0 || age > 100) {
                throw new IllegalArgumentException("年龄在0-100之间的整数,请重新输入");
            }

            gender = infoArray[2].trim();
            if (!gender.equals("男") && !gender.equals("女")) {
                throw new IllegalArgumentException("性别只能是“男”或“女”,请重新输入");
            }

            salary = Double.parseDouble(infoArray[3].trim());

            hireDate = infoArray[4].trim();
            if (!hireDate.matches("\\d{4}-\\d{2}-\\d{2}")) {
                throw new IllegalArgumentException("日期格式不正确,请重新输入");
            }

            break;

        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
    }

    try (BufferedWriter writer = new BufferedWriter(new FileWriter("emp.txt", true))) {
        writer.write(name + "," + age + "," + gender + "," + salary + "," + hireDate);
        writer.newLine();
        System.out.println("添加成功");
    } catch (IOException e) {
        System.out.println("写入文件失败");
    }

}
java使用异常捕获机制完成下述IO操作 编写程序要求下面的类实现功能 添加新员工 要求用户输入一个员工信息格式如下 jackson25男50002008-12-22 用户输入后需要做下述验证使用正则表达式判断 要求用户名长度在1-20个字符之间且必须是英文 年龄在0-100之间的整数 性别只能是男或女 当发

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

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