为了账号安全,请及时绑定邮箱和手机立即绑定

循环程序在 Eclipse 中终止

循环程序在 Eclipse 中终止

MMTTMM 2021-10-20 14:48:01
这是我的程序,它在没有运行的情况下被终止。在这个过程中,我试图每小时、每分钟和每秒打印一次。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);            }        }    }} 
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

秒的条件:

for(int secs = 0;secs>=61;secs++)

有缺陷。像这样更改符号:

for(int secs = 0;secs<=61;secs++)


查看完整回答
反对 回复 2021-10-20
?
哔哔one

TA贡献1854条经验 获得超8个赞

您的逻辑中有几个错误:

  1. 第一个 for 循环:有缺陷的测试表达式,因为一小时只有 60 分钟,而不是 61

  2. 第二个 for 循环:有缺陷的测试表达式:一分钟只有 60 秒,你也翻转了比较运算符

  3. 相应地修改 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    );

                }

            }

        }

    }

}


查看完整回答
反对 回复 2021-10-20
  • 2 回答
  • 0 关注
  • 173 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信