我正在尝试使用所需的构造函数
创建列车时刻表的多个对象public Station(String city, Calendar arrival, Calendar departure, int day)
然而,当我创建对象时,我无法通过到达和离开时间,因为20:30等被认为是int。我想在构造函数中将Calendar更改为int,但显然必须使用Calendar。
Station stop1= new Station("Vancouver",null , 2030, 1)
这是希望我尝试创建,但就像我说它不会采取参数。
所以很明显我需要在这里开箱即用,并开始搞乱日历,但我不确定我是否应该在下面的构造函数中这样做:
public Station(String city, Calendar arrival, Calendar departure, int day){
this.city=city;
this.arrival=arrival;
this.departure=departure;
this.day=day;
}
或者如果我必须创建一些新方法并将它们组合在一起。在我的研究中,我遇到了一个方法,我改变了一点,但我仍然无法使用"到达"的那些参数将其实现到我的对象创建中。和"离开"。
private static Calendar getCalendar(int hour, int minute) {
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, hour);
c.set(Calendar.MINUTE, minute);
return c;
}
所以我想我想知道是否有人可以提出一些提示,指出我正确的方向,也许我应该在网上查找。这是我的任务中最后也是最难的问题,我甚至无法创建10个对象来启动列车时刻表。
答案 0 :(得分:0)
我喜欢复合方法。
public StationAdapter {
private readonly Station station;
public StationAdapter(String city, int arrival, int departure, int day) {
// Create station
}
}
或最终构建器模式。
答案 1 :(得分:0)
我很想在构造函数中将Calendar更改为int,但显然必须使用Calendar完成。
我不确定你的意思是什么,但是我们可以说出于某些原因你更喜欢保持现在的构造函数,那么你需要对你已发布的代码做什么就是这样
Station stop1= new Station("Vancouver",null , getCalendar(20, 30) , 1)
否则你可以按照其他答案的建议去做