Я пытаюсь запустить этот проект самолета, и я не могу на всю жизнь понять, как добавить время в «public void addHours()», , или если я даже сделал это правильно! Любая помощь будет фантастической!Как добавить время через методы, addHours() в Java
Вопрос ответить:
Создать класс Time. Этот класс будет представлять собой момент времени, такой как в качестве времени отправления. Он должен содержать 2 конструктора, 2 экземпляра переменных (час и минуту) и 10 методов (см. Ниже). Все методы , но toString должно быть в формате 24 часа. default constructor: Создает объект Time для 12:00 AM. overloaded constructor: Создает объект Time в определенные часы и минуты. getHour(): возвращает целое число, представляющее час объекта . getMinute(): Возвращает целое число, представляющее минуту объекта времени . addHours (...): Обновляет объект, перемещая его вперед количество часов. addMinute (...): Обновляет объект, перемещая его вперед на несколько минут. (Подсказка: будьте осторожны, чтобы вы не допустили, чтобы минут было больше 59.) addTime (...): Обновляет объект по , перемещая его вперед на час и минуту из другого объекта времени. getCopy (...): возвращает новый объект Time, который имеет тот же час и минута существующего объекта Time. isEarlierThan (...): Возвращает true , если этот объект времени ранее, чем другой объект Time. isSameTime (...): Возвращает true, если этот объект времени совпадает с другим временным объектом. isLaterThan (...): Возвращает true, если это время объект позже другого объекта времени. toString(): Возвращает строку , представляющую объект Time. Использует 12-часовой формат AM/PM и прокладки минут, чтобы быть двумя цифрами. См. Пример вывода для примера.
Это мой класс времени до сих пор:
public class Time {
public static int hour;
public static int minute;
public Time() {
}
public Time(int h, int m) {
h = hour;
m = minute;
}
public int getHour() {
return hour;
}
public int getMinute() {
return minute;
}
public void addHours(int h) {
h = h + hour;
}
public void addMinutes(int m) {
//Minute should not allow past 59 minutes.
if (m <= 59)
m = m + minute;
}
public void addTime(Time other) {
}
public Time getCopy() {
//need to fix return statement
return null;
}
public boolean isEarlierThan(Time other) {
return (Boolean) null;
//need to fix return statement.
}
public boolean isSameTime(Time other) {
return (Boolean) null;
//need to fix return statement.
}
public boolean isLaterTHan(Time other) {
return (Boolean) null;
//need to fix return statement.
}
public String formatDigits(int i) {
return null;
//need to fix return statement.
}
public String toString() {
return null;
}
}
Ниже драйвера:
public class Driver {
public static void main(String[] args) {
//Please note that these tests are not comprehensive.
//testAirline();
//testAirport();
//testPlane();
//testTime();
//testFlight();
}
public static void testAirline() {
System.out.println("==testAirline()==");
/*
//Test 1: create enum variables
Airline a1 = Airline.American;
Airline a2 = Airline.United;
Airline a3 = Airline.Delta;
Airline a4 = Airline.United;
//Test 2: display and compare variables
System.out.println("a1: " + a1);
System.out.println("a2 == a3: " + (a1 == a2));
System.out.println("a2 == a4: " + (a2 == a4));
*/
}
public static void testAirport() {
System.out.println("==testAirport()==");
/*
//Test 1: create enum variables
Airport a1 = Airport.PHX;
Airport a2 = Airport.LAX;
Airport a3 = Airport.SFO;
Airport a4 = Airport.NRT;
Airport a5 = Airport.SIN;
//Test 2: display and compare variables
System.out.println("a1: " + a1);
System.out.println("a2 == a3: " + (a1 == a2));
System.out.println("a2 == a4: " + (a2 == a4));
System.out.println("a1: " + Airport.getAirportCity(a1));
System.out.println("a3: " + Airport.getAirportCity(a3));
System.out.println("a5: " + Airport.getAirportCity(a5));
*/
}
public static void testPlane() {
System.out.println("==testPlane()==");
/*
//Test 1: create plane objects
Plane p1 = new Plane(Airline.Delta, "Boeing 717");
Plane p2 = new Plane(Airline.United, "Airbus A321");
//Test 2: display plane information.
System.out.println(p1.getAirline());
System.out.println(p1.getModel());
System.out.println(p1);
System.out.println(p2);
*/
}
public static void testTime() {
System.out.println("==testTime()==");
/*
//Test 1: use default constructor.
Time t1 = new Time();
//Test 2: use overloaded constructor.
Time t2 = new Time(9, 0);
Time t3 = new Time(1, 15);
//Test 3: use clone operation.
Time t4 = t3.getCopy();
//Test 4: run toString on AM times.
System.out.println(new Time(0, 5));
System.out.println(new Time(1, 15));
System.out.println(new Time(2, 45));
System.out.println(new Time(10, 5));
System.out.println(new Time(11, 15));
//Test 5: run toString on PM times.
System.out.println(new Time(12, 45));
System.out.println(new Time(13, 5));
System.out.println(new Time(22, 15));
System.out.println(new Time(23, 45));
//Test 6: run toString on object from default constructor.
System.out.println("t1: " + t1);
//Test 7: testing addTime operation
System.out.println("t2: " + t2);
t2.addTime(t3);
System.out.println("t2: " + t2);
//Test 8: testing addMinutes operation
t2.addMinutes(181);
System.out.println("t2: " + t2);
//Test 9: testing8 addHours operation
t2.addHours(2);
System.out.println("t2: " + t2);
//Test 10: testing cloned copy.
t4.addHours(1);
System.out.println("t3: " + t3);//original
System.out.println("t4: " + t4);//clone
//Test 11: testing isEarlierThan.
System.out.println("t3 < t4: " + t3.isEarlierThan(t4));
System.out.println("t4 < t3: " + t4.isEarlierThan(t3));
System.out.println("t2 < t4: " + t2.isEarlierThan(t4));
System.out.println("t4 < t2: " + t4.isEarlierThan(t2));
System.out.println("t2 < t2: " + t2.isEarlierThan(t2));
//Test 12: testing isLaterThan.
System.out.println("t2 > t4: " + t2.isLaterThan(t4));
System.out.println("t4 > t2: " + t4.isLaterThan(t2));
System.out.println("t4 > t4: " + t4.isLaterThan(t4));
//Test 13: testing isSameTime.
System.out.println("t2 = t4: " + t2.isSameTime(t4));
System.out.println("t4 = t4: " + t4.isSameTime(t4));
System.out.println("t4 = 2:15AM: " + t4.isSameTime(new Time(2, 15)));
*/
}
public static void testFlight() {
System.out.println("==testFlight()==");
/*
//Test 1: create flights using different settings
Flight f1 = new Flight(new Plane(Airline.American, "Airbus A321"),
"495",
79,
new Time(11,5), 100,
Airport.PHX, Airport.LAX);
Flight f2 = new Flight(new Plane(Airline.Delta, "Boeing 717"),
"1063",
79,
new Time(7, 10),
95,
Airport.PHX,
Airport.LAX);
Flight f3 = new Flight(new Plane(Airline.American, "Airbus A321"),
"400",
44,
new Time(21, 25),
127,
Airport.PHX,
Airport.SFO);
Flight f4 = new Flight(new Plane(Airline.United, "Boeing 787"),
"400",
525,
new Time(10, 50),
715,
Airport.LAX,
Airport.NRT);
Flight f5 = new Flight(new Plane(Airline.United, "Boeing 737"),
"414",
59,
new Time(6, 50),
85,
Airport.LAX,
Airport.SFO);
System.out.println(f1.toDetailedString());
System.out.println();
System.out.println(f1.toOverviewString());
System.out.println();
System.out.println();
System.out.println(f5.toDetailedString());
System.out.println();
System.out.println(f5.toOverviewString());
*/
}
}
Вы должны назначать 'hour', а не' h'. У вас есть аналогичная проблема во всем классе. Кроме того, ваши поля не должны быть 'static'. – 4castle
Я обновил «час = час + час»; и минуту. Мой вопрос: как обновить метод addTime. Я пробовал как миллион разных вещей и получил как миллион различных ошибок. Я просто потерян. – TheMuffinMan
покажите нам одну из миллионов разных вещей, разместив ее в своем вопросе. – Blip