Я делаю 24-часовой. У меня есть код ниже. Моя проблема в том, что время int[]
равно [0, 0, 0]
и распечатывает его на каждой итерации.
Дополнительная информация, которая может вам помочь. У меня есть Array TimeCounter
как [hours, minutes, seconds]
. Методы сброса устанавливают выбранные значения int равными нулю, остаются неизменными или увеличиваются на единицу. Вложенные петли для прохождения часов.Я делаю 24-часовое время
public static int hours;
public static int minutes;
public static int seconds;
public static int [] TimeCounter = {hours, minutes, seconds};
//End of day
public static void reset(int [] midNight){
hours = 0;
minutes = 0;
seconds = 0;
}
//End of a minute
public static void resetSeconds(int [] endOfMin){
minutes++;
seconds = 0;
}
//End of a Hour
public static void resetMinutes(int [] endOfHour){
hours++;
minutes = 0;
seconds = 0;
}
public static void run(int [] time){
hours = 0;
minutes = 0;
seconds = 0;
System.out.println(Arrays.toString(time));
while (hours < 25){
if (hours == 24){
if (minutes == 59){
if (seconds == 60){
reset(time);
}
}
}
while (minutes < 61){
if (minutes == 59){
if (seconds == 60){
resetMinutes(time);
System.out.println(Arrays.toString(time));
}
}
while (seconds < 61){
if (seconds == 60){
resetSeconds(time);
}
System.out.println(Arrays.toString(time));
seconds++;
}
System.out.println(Arrays.toString(time));
minutes++;
}
System.out.println(Arrays.toString(time));
hours++;
}
}
public static void main(String[] args){
run(TimeCounter);
}
Вы не можете использовать объектно-ориентированные концепции вообще для этой программы? Инструкции приводят к тому, что вы используете статическую для всего? Тьфу. –
Вам действительно нужно избавиться от массива и просто использовать переменные. – MultiplyByZer0
@HovercraftFullOfEels - Кажется, что вводные классы программирования в эти дни начинаются с написания процедурного кода на языке OO. Многие приведенные примеры имеют только «основной» метод. –