2016-05-25 2 views
1

Я пытаюсь создать несколько объектов в расписании движения поездов с использованием необходимого конструктора,Невозможно создать объекты с требуемым API с помощью календаря

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

Мне бы очень хотелось сменить календарь на int в конструкторе, но, видимо, это должно быть сделано с помощью Calendar.

Я не уверен, что вы имеете в виду именно это, но позвольте сказать по какой-то причине, что вы предпочитаете сохранить конструктор так, как он есть сейчас, то то, что вам нужно сделать с кодом, который вы уже разместили,

Station stop1= new Station("Vancouver",null , getCalendar(20, 30) , 1) 

в противном случае вы можете сделать, как это предлагается в другие ответы

+0

Наши вопросы назначения приходит со списком API, чтобы следовать, и мы должны их реализовать. По-видимому, мы можем добавить к нему, но нам все равно придется реализовать предоставленный список. Большинство людей на моем курсе недовольны тем, как структурирован общий курс. Спасибо за ваш ответ. Я это попробую. – user3516525

+0

получил это, ну тогда это путь. – illgoforit

0

Мне нравится состав подход.

public StationAdapter { 

    private readonly Station station; 

    public StationAdapter(String city, int arrival, int departure, int day) { 
    // Create station 

    } 
} 

Или в конце концов Builder Pattern.

Смежные вопросы