这是我的程序,在没有运行的情况下被终止。在此,我尝试每小时,每分钟和每秒打印一次。
public class hello {
String type;
String name;
static int hour = 0;
static int min;
static int sec;
public static void main(String args[]) {
while(hour<12) {
for(int mins = 0; mins <= 61; mins++) {
min = mins;
if(min==61) {
hour++;
min=0;
continue;
}
for(int secs = 0; secs>=61; secs++) {
sec=secs;
if(sec==61) {
min++;
sec=0;
continue;
}
System.out.println("0"+hour+":"+min+":"+sec);
}
}
}
}
}
当我尝试通过删除第二个 for 循环并以这种方式编写它来仅打印几分钟和几小时时,它运行正常,但是当我添加用于打印秒的代码时,它也失败了。
public class hello {
String type;
String name;
static int hour =0;
static int min;
static int sec;
public static void main(String args[]) {
while(hour<12) {
for(int mins=0 ;mins<=61;mins++) {
min = mins;
if(min==61) {
hour++;
min=0;
continue;
}
System.out.println("0"+hour+":"+min+":"+sec);
}
}
}
}
秒的条件:
for(int secs = 0;secs>=61;secs++)
是有缺陷的。像这样更改符号:
for(int secs = 0;secs<=61;secs++)
你的逻辑中有几个错误:
- 第一个 for 循环:有缺陷的测试表达式,因为一小时只有 60 分钟,而不是 61 分钟
- 第二个 for 循环:有缺陷的测试表达式:一分钟只有 60 秒,你也翻转了比较运算符
-
相应地修改 if 检查
public class Hello { static int hour = 0; static int min; static int sec; public static void main(final String args[]) { while (hour < 12) { for (int mins = 0; mins <= 60; mins++) { min = mins; if (min == 60) { hour++; min = 0; continue; } for (int secs = 0; secs <= 60; secs++) { sec = secs; if (sec == 60) { min++; sec = 0; continue; } System.out.println("0" + hour + ":" + min + ":" + sec ); } } } } }