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或文字描述)
展开
 我来答
曹晓山11
推荐于2018-03-29 · 知道合伙人互联网行家
曹晓山11
知道合伙人互联网行家
采纳数:3033 获赞数:52066
毕业南阳理工学院计算机科学与技术专业,本科学位。互联网行业从业3年工作经验,读过编程类相关书籍多本。

向TA提问 私信TA
展开全部

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目录下文件按日期排序
      }
}
freish
推荐于2016-01-07 · TA获得超过2878个赞
知道大有可为答主
回答量:3153
采纳率:0%
帮助的人:2690万
展开全部
把每个日期读到一个java.util.Date对象中
然后把这些对象装进一个ArrayList中
然后用Collections.sort(那个arraylist);即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大时代暑
2009-05-21 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4111
采纳率:0%
帮助的人:4821万
展开全部
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;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式