private static void addTeacher() { Scanner scanner = new Scanner(System.in); System.out.print("请输入教师编号:"); int id = scanner.nextInt(); System.out.print("请输入教师姓名:"); String name = scanner.next(); System.out.print("请输入教师性别:"); String gender = scanner.next(); System.out.print("请输入出生日期(格式:yyyy-mm-dd):"); String birthDate = scanner.next(); System.out.print("请输入所在部门:"); String department = scanner.next(); System.out.print("请输入职称:"); String title = scanner.next(); System.out.print("请输入工资:"); double salary = scanner.nextDouble(); teacherList.add(new Teacher(id, name, gender, birthDate, department, title, salary)); System.out.println("教师信息添加成功!"); }增加蛛丝
时间: 2023-06-27 08:04:18 浏览: 93
java代码-输入N,输出大于N的质数
在这段代码中,我们可以添加一些输入校验逻辑,以保证输入的数据合法性。例如:
1. 检查输入的教师编号是否已经存在于系统中,如果是则提示用户重新输入一个不存在的编号。
2. 对于出生日期的输入,可以使用正则表达式进行格式校验,确保输入的日期符合 yyyy-mm-dd 的格式。
3. 对于工资的输入,可以检查输入的值是否大于等于 0,如果小于 0 则提示用户重新输入。
修改后的代码如下:
```
private static void addTeacher() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入教师编号:");
int id = scanner.nextInt();
// 检查编号是否已存在
while (findTeacherById(id) != null) {
System.out.println("该编号已存在,请重新输入!");
System.out.print("请输入教师编号:");
id = scanner.nextInt();
}
System.out.print("请输入教师姓名:");
String name = scanner.next();
System.out.print("请输入教师性别:");
String gender = scanner.next();
// 校验出生日期格式
String birthDate;
Pattern pattern = Pattern.compile("^\\d{4}-\\d{2}-\\d{2}$");
do {
System.out.print("请输入出生日期(格式:yyyy-mm-dd):");
birthDate = scanner.next();
} while (!pattern.matcher(birthDate).matches());
System.out.print("请输入所在部门:");
String department = scanner.next();
System.out.print("请输入职称:");
String title = scanner.next();
// 检查工资是否合法
double salary;
do {
System.out.print("请输入工资:");
salary = scanner.nextDouble();
} while (salary < 0);
teacherList.add(new Teacher(id, name, gender, birthDate, department, title, salary));
System.out.println("教师信息添加成功!");
}
```
阅读全文