62,635
社区成员




import java.util.ArrayList;
class TimeDate {
private int startTime;
private int endTime;
public TimeDate(int startTime, int endTime) {
this.startTime = startTime;
this.endTime = endTime;
}
public int getStartTime() {
return startTime;
}
public void setStartTime(int startTime) {
this.startTime = startTime;
}
public int getEndTime() {
return endTime;
}
public void setEndTime(int endTime) {
this.endTime = endTime;
}
public static int Compare(int former, int latter) {
if (former < latter) {
return -1;
} else if (former == latter) {
return 0;
} else {
return 1;
}
}
@Override
public String toString() {
String s = this.startTime + " to " + this.endTime;
return s;
}
}
public class TimeMinus {
public static boolean calculateTimeMinus(TimeDate former, TimeDate latter) {
boolean latterFlag = false;
if (TimeDate.Compare(former.getStartTime(), latter.getStartTime()) == -1) {
if (TimeDate.Compare(former.getEndTime(), latter.getStartTime()) != 1) {
System.out.println(former.getStartTime() + " to "
+ former.getEndTime());
} else {
if (TimeDate.Compare(former.getEndTime(), latter.getEndTime()) != 1) {
System.out.println(former.getStartTime() + " to "
+ latter.getStartTime());
} else {
System.out.println(former.getStartTime() + " to "
+ latter.getStartTime());
System.out.println(latter.getEndTime() + " to "
+ former.getEndTime());
}
}
} else if (TimeDate.Compare(former.getStartTime(), latter
.getStartTime()) == 0) {
if (TimeDate.Compare(former.getEndTime(), latter.getEndTime()) != 1) {
// do nothing
} else {
System.out.println(latter.getEndTime() + " to "
+ former.getEndTime());
}
} else {
if (TimeDate.Compare(former.getStartTime(), latter.getEndTime()) != -1) {
latterFlag = true;
} else {
if (TimeDate.Compare(former.getEndTime(), latter.getEndTime()) != 1) {
// do nothing
} else {
System.out.println(latter.getEndTime() + " to "
+ former.getEndTime());
}
}
}
return latterFlag;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<TimeDate> TimeDateArray1 = new ArrayList<TimeDate>();
TimeDateArray1.add(new TimeDate(2, 5));
TimeDateArray1.add(new TimeDate(7, 10));
TimeDateArray1.add(new TimeDate(12, 14));
ArrayList<TimeDate> TimeDateArray2 = new ArrayList<TimeDate>();
TimeDateArray2.add(new TimeDate(1, 3));
TimeDateArray2.add(new TimeDate(8, 9));
int i = 0, j = 0;
int m = TimeDateArray1.size();
int n = TimeDateArray2.size();
boolean result;
while (true) {
result = TimeMinus.calculateTimeMinus(TimeDateArray1.get(i),
TimeDateArray2.get(j));
if (result) {
if (j + 1 < n) {
j++;
} else {
break;
}
} else {
if (i + 1 < m) {
i++;
} else {
break;
}
}
}
if (i < m) {
for (; i < m; i++) {
System.out.println(TimeDateArray1.get(i));
}
}
}
}