【发布时间】:2013-11-30 01:57:19
【问题描述】:
我正在制作 24 时钟。我有下面的代码。我的问题是int[] 时间等于[0, 0, 0] 并在每次迭代时打印出来。
更多可能对您有所帮助的信息。我有Array TimeCounter 作为[hours, minutes, seconds]。重置方法将选定的 int 值设置为零、保持不变或加一。嵌套的 while 循环用于遍历时钟。
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);
}
【问题讨论】:
-
你在这个程序中根本不允许使用面向对象的概念吗?说明是否强制您对所有内容都使用静态?呃。
-
你真的应该摆脱数组,只使用变量。
-
@HovercraftFullOfEels - 现在的入门编程课程似乎都是从用 OO 语言编写程序代码开始的。给出的许多示例只有
main方法。 -
@PM77-1:是的,你可能是对的,但是对我来说,浏览这种类型的代码就像是钉在黑板上。