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
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;
}
}
吐槽
对于学的知识运用还有待提高
近期评论