Что значит добавить конструкторы, аналогичные другим? - PullRequest
0 голосов
/ 24 октября 2011

Добавьте еще два конструктора, которые аналогичны методам set Time, описанным в частях c и d.

Part c: Напишите метод setTime (часы, минуты), который устанавливает время, если заданные значения верны.

    public void SetTime(int newHour, int newMinute)
        { 
            if (hourIsValid = true)
                  hour = newHour;
            if (minuteIsValid = true)
                 minute = newMinute;
        }

Часть d: Напишите другой метод setTime (часы, минуты, isAm), который устанавливает время, если заданные значения действительны.Заданный час должен быть в диапазоне от 1 до 12. Параметр isAM является истинным, если время является временем am, и ложным в противном случае.

    public void SetTime(int newHour, int newMinute, boolean isAM)
{ 
   if (hour >=0 && hour < 12)
   {        isAM = true;
            hour = newHour;}

   if (minuteIsValid = true)
          minute = newMinute;

   if (isAM = true)
       System.out.println ( hour + "a.m");
   else
       nightHour = hour % 12;
       System.out.println( nightHour + "p.m");

}

Это то, что я произвел до сих пор, о чем спрашиваютпроизводиться по аналогу?Я знаю, что это означает подобное, но что это означает для части C только два отдельных, как SetHour и SetMinute?

Ответы [ 2 ]

2 голосов
/ 24 октября 2011

Каждый класс может иметь несколько конструкторов, каждый из которых может иметь разные переменные.

Для этого домашнего задания вы должны добавить конструкторы, которые получают значения, аналогичные функциям setters, и использовать setters:

    public ClassName(int newHour, int newMinute)
    {
        SeTime(newHour, newMinute);
    }
1 голос
/ 24 октября 2011

Вопрос просто означает, что нужно написать два конструктора для рассматриваемого класса (вы не упомянули его имя), которые выполняют ту же функцию, что и методы, описанные в частях (c) и (d);то есть они инициализируют класс часами и минутами, а также часами, минутами и флагами «am» соответственно.

Например:

  • Метод: public void setTime(int hour, int minute)
  • Аналогичный конструктор: public Time(int hour, int minute)

Обратите внимание, что конструктор может просто связываться с вызовом метода;например,

public Time(int hour, int minute) {
  setTime(hour, minute);
}

Однако, как правило, конструктор может использоваться для инициализации конечных полей и, следовательно, не соединяется с установщиком;например,

public Time(int hour, int minute) {
  this.hour = hour;
  this.minute = minute;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...