java录入并输出学生信息,结束时显示已录人数,如何编写

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