java实现日期排序问题
一个文件中记录着一个2008年中的一个日期或一段日期:6月3日5月9日9月6日3月2日-4月8日……设计一个算法使得让这些数据按时间数序排序,并且统计总天数(可以用C、J...
一个文件中记录着一个2008年中的一个日期或一段日期:
6月3日
5月9日
9月6日
3月2日-4月8日
……
设计一个算法使得让这些数据按时间数序排序,并且统计总天数(可以用C、Java或文字描述) 展开
6月3日
5月9日
9月6日
3月2日-4月8日
……
设计一个算法使得让这些数据按时间数序排序,并且统计总天数(可以用C、Java或文字描述) 展开
3个回答
推荐于2018-03-29 · 知道合伙人互联网行家
关注
展开全部
java按文件日期排序方法,下面以对C盘Java目录下文件进行按日期排序为例:
//引用java.io包里的所有类
import java.io.*;
import java.util.*;
public class FileOrder{
//按日期排序
public static void orderByDate(String fliePath) {
File file = new File(fliePath);
File[] fs = file.listFiles();
Arrays.sort(fs,new Comparator< File>(){
public int compare(File f1, File f2) {
long diff = f1.lastModified() - f2.lastModified();
if (diff > 0)
return 1;
else if (diff == 0)
return 0;
else
return -1;
}
public boolean equals(Object obj) {
return true;
}
});
for (int i = fs.length-1; i >-1; i--) {
System.out.println(fs[i].getName());
System.out.println(new Date(fs[i].lastModified()));
}
}
public static void main(String args[]){
orderByDate("c:/java"); //调用方法对c:/java目录下文件按日期排序
}
}
展开全部
把每个日期读到一个java.util.Date对象中
然后把这些对象装进一个ArrayList中
然后用Collections.sort(那个arraylist);即可
然后把这些对象装进一个ArrayList中
然后用Collections.sort(那个arraylist);即可
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class TestBubble {
public static void main(String[] args) {
Date[] days = new Date[5];
days[0]= new Date(2008,6,3);
days[1]= new Date(2008,5,9);
days[2]= new Date(2008,9,6);
days[3]= new Date(2008,3,2);
days[4]= new Date(2008,4,8);
bubbleSort(days);
for(int i=0;i<days.length;i++) {
System.out.println(days[i]);
}
}
public static void bubbleSort(Date[] d) {
int len=d.length;
for(int i=len-1;i>=1;i--) {
for(int j=0;j<=i-1;j++) {
if(d[j].compare(d[j+1])>0) {
Date temp=d[j];
d[j]=d[j+1];
d[j+1]=temp;
}
}
}
}
}
class Date {
int year;
int month;
int day;
Date(int year,int month,int day) {
this.year=year;
this.month=month;
this.day=day;
}
public int compare(Date d) {
return year > d.year ? 1
: year < d.year ? -1
: month > d.month ? 1
: month < d.month ? -1
: day > d.day ? 1
: day < d.day ? -1
: 0;
}
public String toString () {
return year+"-"+month+"-"+day;
}
}
public static void main(String[] args) {
Date[] days = new Date[5];
days[0]= new Date(2008,6,3);
days[1]= new Date(2008,5,9);
days[2]= new Date(2008,9,6);
days[3]= new Date(2008,3,2);
days[4]= new Date(2008,4,8);
bubbleSort(days);
for(int i=0;i<days.length;i++) {
System.out.println(days[i]);
}
}
public static void bubbleSort(Date[] d) {
int len=d.length;
for(int i=len-1;i>=1;i--) {
for(int j=0;j<=i-1;j++) {
if(d[j].compare(d[j+1])>0) {
Date temp=d[j];
d[j]=d[j+1];
d[j+1]=temp;
}
}
}
}
}
class Date {
int year;
int month;
int day;
Date(int year,int month,int day) {
this.year=year;
this.month=month;
this.day=day;
}
public int compare(Date d) {
return year > d.year ? 1
: year < d.year ? -1
: month > d.month ? 1
: month < d.month ? -1
: day > d.day ? 1
: day < d.day ? -1
: 0;
}
public String toString () {
return year+"-"+month+"-"+day;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询