172.16.0.151_20200901-陈政平

问题

package com.itlaobing.date;

import java.util.Date;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Comparator;
import java.util.Random;

public class DateSort2  {

    public static void main(String[] args) {

        final Random random = new Random();

        final Calendar calendar = Calendar.getInstance();

        final Date[] dates = new Date[5];
            int[] v =new int[5];

        // 使用循环对 dates 数组进行初始化
        for (int i = 0; i < dates.length; i++) {
            // 随机产生 年份、月份、日期,并将其设置到 calendar 对象中

            int year = random.nextInt(2021);
            int month = random.nextInt(12);
            int date = random.nextInt(31);
            calendar.set(year, month, date);

            // 随后使用 calendar 的 getTime 来获取 Date 实例
            Date date1 = calendar.getTime();
            dates[i] = date1;
        }

        // 使用循环输出排序前的日期

        for (int x = 0; x < dates.length; x++) {
            System.out.println(dates[x]);
        }

        // 使用 Date 类提供的方法,对日期进行比较并排序 (比较器排序)

        Comparator<Date> comparator = new DateComparator();

        Arrays.sort(dates, comparator);
        // 使用循环输出排序后的日期
        
        for (int y = 0; y < dates.length; y++) {
            System.out.println(dates[y]);

    }

}
}

Comparator comparator = new DateComparator();

new DateComparator();这半截代码一直报错,调试不来。

    
package com.itlaobing.date;
import java.util.Comparator;

public class DateComparator implements Comparator<Date>{
    @Override
    public int compare(Date first, Date second) { // 比较用来排序的两个参数
        // 根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数
        if( first.getYear() < second.getYear() ) {
            return -1 ;
        } else if( first.getYear() == second.getYear() ) {
            return 0 ;
        } else {
            return 1 ;
        }
    
   }
}
package com.itlaobing.date;
public class Dates {
private int year ;
private int month ;
private int date ;

public Dates(int year, int month, int date) {
    super();
    this.year = year;
    this.month = month;
    this.date = date;
}

public int getYear() {
    return year;
}

public void setYear(int year) {
    this.year = year;
}

public int getMonth() {
    return month;
}

public void setMonth(int month) {
    this.month = month;
}

public int getDate() {
    return date;
}

public void setDate(int date) {
    this.date = date;
}
}

吐槽

对于学的知识运用还有待提高