请问一下 这题怎么写 java等级划分

有一个档案管理系统,要求用户输入以6位数字表示的日期(前4位表示年,后2位表示月,月份不足2位用0填补,如201503表示2015年3月),输入日期限定在1990年1月~2049年12月。
为了测试程序的“日期检查功能”,请用等价类划分法设计等价类,包括测试用例。


    public static void main(String[] args) {
        System.out.println(convert(201503));
    }

    public static String convert(int data) {
        if (data >= 199001 && data <= 204912) {
            String dataStr = String.valueOf(data);
            String yearStr = dataStr.substring(0, 3);
            String monthStr = dataStr.substring(4);
            if (monthInt>=1&&monthInt<=12){
                 return yearStr + "年" + monthStr + "月";
            }
            throw new IllegalArgumentException("非法的月份");
        }
        throw new IllegalArgumentException("日期限定在1990年1月~2049年12月");
    }

等价类划分,包括有效等价类和无效等价类,其中测试用例可参考以下设计。
有效等价类:

  1. 199703,有效
  2. 202109,有效

无效等价类:

  1. 198003,无效(年份越界)
  2. 199713,无效(月份越界)
  3. 2021203,无效(年份位数超出)
  4. 1999011,无效(月份位数超出)

等价类划分法 这是什么意思