日期:2014-05-17 浏览次数:20832 次
import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; public class Test { @SuppressWarnings({ "rawtypes", "unchecked" }) public static void main(String[] args) throws Exception{ Map examtimemap = new HashMap<String, String>(); examtimemap.put("starttime1","2012-07-02 08:00"); examtimemap.put("endtime1","2012-07-02 09:00"); examtimemap.put("starttime2","2012-07-02 08:40"); examtimemap.put("endtime2","2012-07-02 10:00"); examtimemap.put("starttime3","2012-07-02 09:05"); examtimemap.put("endtime3","2012-07-02 09:45"); examtimemap.put("starttime4","2012-07-02 10:00"); examtimemap.put("endtime4","2012-07-02 11:00"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); for(int i = 1 ; i < 4;i++){ Date endtimei = sdf.parse(examtimemap.get("endtime" + i).toString()); for(int j = i + 1;j < 5;j++){ Date startTimej = sdf.parse(examtimemap.get("starttime" + j).toString()); if(endtimei.compareTo(startTimej) > 0){ System.out.println("时间" + j + "与时间" + i + "有冲突"); break; } } } } }
------解决方案--------------------
伪代码
首先创建一个class(TestTime)里面存放这几个成员。 String className;//科目名称 Date startTime;//开始时间 Date endTime;//结束时间 声明一个List集合:List<TestTime> list = new ArrayList(TestTime)(); 然后有几门课程就去创建几个TestTime对象,并实例化,然后添加到List集合中。 再然后就遍历这个List集合: for(int i = 0; i < list.size(); i++){ for(int j = i+1; j < list.size(); j++){ //这里将遍历的对象list.get(i)的endTtime和list.get(j)的startTime比较一下就OK了。 } }
------解决方案--------------------
public static boolean isDate( Date[] date , Date[] dates){ if(date[0].getTime()>dates[0].getTime()){ if(date[0].getTime()<dates[1].getTime()){ return false; } } if(date[0].getTime()<dates[0].getTime()){ if(date[1].getTime()>dates[0].getTime()){ return false; } } if(date[0].getTime()==dates[0].getTime()){ return false; } return true ; } public static void main(String[] args) throws ParseException { Map<String, String[]> examtimemap = new LinkedHashMap<String, String[]>();//有序的Map examtimemap.put("date",new String []{"2012-07-02 08:00","2012-07-02 08:00"}); examtimemap.put("date2",new String []{"2012-07-02 08:40","2012-07-02 10:00"}); examtimemap.put("date3",new String []{"2012-07-02 09:05","2012-07-02 09:45"}); examtimemap.put("date4",new String []{"2012-07-02 10:00","2012-07-02 11:00"}); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm") ; int i = 0, i2=0 ; ;