我是java的新手,我确实在搜索解决方案而没有找到它。
我有Trip文件的“Trip [] _data”数组。
“Trip”对象使用“Date”类来表示行程出发日期,Inside Trip类是一个布尔方法“sameDepartureDate”,它获取Trip对象并完成均衡,如果它与this.object有相同的出发日。
我在“Date”中有一个名为“equals”的公共方法。它获取Date对象并完成等于this.object。
Trip类中的sameDepartureDate方法是:
public boolean sameDepartureDate (Trip other){
if ((_departureDate.equals(other._departureDate)))
return true;
else return false;
}
我需要检查阵列中有多少Trips使用相同的出发日期。
换句话说,如果给定的“Date对象”等于trip对象内的array [i] date对象。 (使用Date类中的equals方法,或使用Trip类中的“sameDepartureDate”)
如何从数组对象内的Trip / Date类调用方法来检查Date对象?
我尝试构建这样的方法,但是我得到一个错误“不可转换的类型,必需:日期,发现:布尔”
public int howManyTripsDeparture(Date date){
//Setting default!
int j=0;
int i;
if (date==null){
return j;
}
else for (i=0; i<_data.length; i++){
if (_data[i]==null){
j=j;
}
else if ((Date) _data[i].equals(date)){ //here is the problem :/
j=j++;
}
else j=j;
}
return j;
}
这是家庭作业,因此我无法在Trip / Date课程中构建新方法。
我可以在当前类中构建新的私有方法。
我无法弄清楚如何将_data [i]转换为“Date”对象???完成均衡后,我不需要包含其他数据。
感谢您的帮助: - )
答案 0 :(得分:0)
你几乎就在那里,只需改变它:
else if (_data[i].getDepartureDate().equals(date)){ //here is the problem :/
j=j++;
}
只需删除您在(Date)
内执行的else if
投射,因为if
需要括号内的布尔值