java录入并输出学生信息(学号,姓名,生日,系别)若学生年龄非法(当前日期-生日<0或>30),给出错误提示,结束时输出学生信息并已录人数,如何编写统计已录入人数
你现在是没有思路还是?
目前是遇到什么问题、
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
/**
* java录入并输出学生信息(学号,姓名,生日,系别) 若学生年龄非法(当前日期-生日<0或>30),给出错误提示
* 结束时输出学生信息并已录人数,如何编写统计已录入人数
*/
List<Student> students = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("输入学生信息,若是退出输入'over'");
System.out.print("生日(格式2021-09-27):");
String birth = scanner.next();
if (birth.equals("over")) {
break;
}
if (!isCorrect(birth)) {
System.out.println("生日输入错误,请重新输入!");
continue;
}
System.out.print("学号:");
String number = scanner.next();
System.out.print("姓名:");
String name = scanner.next();
System.out.print("性别:");
String sex = scanner.next();
students.add(new Student(number, name, sex, birth));
}
System.out.println("输入了" + students.size() + "个");
scanner.close();
}
private static boolean isCorrect(String date) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String ds = df.format(new Date());
Integer i = ds.compareTo(date);
if (i < 0 || i > 30) {
return false;
}
return true;
}
}
/**
* Student 类,记录学生信息
*/
class Student {
private String number, name, sex, birthday;
public Student(String number, String name, String sex, String birthday) {
this.number = number;
this.name = name;
this.sex = sex;
this.birthday = birthday;
}
}