以下是我写的代码:
import java.util.ArrayList;
import java.util.Date; public class Travel{
TravelLeg mid = new TravelLeg();
private String depart;
private String destination;
private Date departTime;
private Date arriveTime;
private String travelId;
private String comment;
ArrayList<TravelLeg> legs = new ArrayList<TravelLeg>();
public void add(TravelLeg mid){
legs.add(mid);
/*this.depart = mid.getDepart();
this.mid = mid;
this.destination = mid.getDestination();*/
}
public boolean check_date(){
if(!mid.getDepartTime().before(mid.getArriveTime())){
System.out.println("Time error!There is an overlap in time.");
return false;
}else return true;
}
public void print(){
for (TravelLeg leg : legs) {
System.out.println("Start: " + leg.getDepart()
+ " going to " + leg.getDestination());
}
for(TravelLeg leg:legs){
System.out.println("Start:"+leg.getDepartTime()+"Arrive:"+leg.getArriveTime());
}
//System.out.println(this.depart+this.mid.getDestination()+this.destination);
}
public static void main(String[] args) {
TravelLeg leg1 = new TravelLeg();
leg1.setDepart("北京");
leg1.setDestination("上海");
TravelLeg leg2 = new TravelLeg();
leg2.setDepart("上海");
leg2.setDestination("哈尔滨");
Travel travel = new Travel();
travel.add(leg1);
travel.add(leg2);
travel.print();
}
}
但是有人说这样做好像不行,嗯,应该怎样改进呢?并且最后帮忙set个值检测一下,看看究竟符不符合出发时间与到达时间的比较
import java.util.ArrayList;
import java.util.Date; public class Travel{
TravelLeg mid = new TravelLeg();
private String depart;
private String destination;
private Date departTime;
private Date arriveTime;
private String travelId;
private String comment;
ArrayList<TravelLeg> legs = new ArrayList<TravelLeg>();
public void add(TravelLeg mid){
legs.add(mid);
/*this.depart = mid.getDepart();
this.mid = mid;
this.destination = mid.getDestination();*/
}
public boolean check_date(){
if(!mid.getDepartTime().before(mid.getArriveTime())){
System.out.println("Time error!There is an overlap in time.");
return false;
}else return true;
}
public void print(){
for (TravelLeg leg : legs) {
System.out.println("Start: " + leg.getDepart()
+ " going to " + leg.getDestination());
}
for(TravelLeg leg:legs){
System.out.println("Start:"+leg.getDepartTime()+"Arrive:"+leg.getArriveTime());
}
//System.out.println(this.depart+this.mid.getDestination()+this.destination);
}
public static void main(String[] args) {
TravelLeg leg1 = new TravelLeg();
leg1.setDepart("北京");
leg1.setDestination("上海");
TravelLeg leg2 = new TravelLeg();
leg2.setDepart("上海");
leg2.setDestination("哈尔滨");
Travel travel = new Travel();
travel.add(leg1);
travel.add(leg2);
travel.print();
}
}
但是有人说这样做好像不行,嗯,应该怎样改进呢?并且最后帮忙set个值检测一下,看看究竟符不符合出发时间与到达时间的比较
解决方案 »
- 各位大侠帮小弟解决一个问题,关于工厂模式。
- 关于网站爬虫问题?高手请指教
- java各接口中的函数是在哪里实现的
- 高分求教5个JAVA题,解决即给分!!
- Swing和中文输入法的问题
- Java技术交流群(13457636) + 散分
- 新人请教:servlet如何响应jsp里的按键
- 将一个字符串唯一映射到一个整形,有什么方法?
- 推荐好网站,并且散分!!
- 本人很想学Java,请问各位如何开始!!!
- hibernate mapping时的问题:An internal error occurred during: "Generating Artifacts".Could not get list
- 我打算每秒执行一个方法,如何设置定时器?
leg2.setDestination("哈尔滨");
有具体的时间比较的实例,而不是要测试
第二你的时间比较函数check_date()虽然是正确的,但没看到在哪里调用过你的check_date(),也就比不出来了 。
看看这样写行不行在你的add方法里实现比较public void add(TravelLeg mid){
if(check_date(mid)){
legs.add(mid);
}else{
System.out.println("check_date(mid) return false");
}
} public boolean check_date(TravelLeg mid){
if(!mid.getDepartTime().before(mid.getArriveTime())){
System.out.println("Time error!There is an overlap in time.");
return false;
}else return true;
}