Java 我的程序有什么问题?它没有显示任何时钟计时器?

Java 我的程序有什么问题?它没有显示任何时钟计时器?,java,Java,嘿,伙计们,我有这个问题。我们必须制作自己的时钟计时器,我已经完成了特定的任务,但我的程序仍然没有显示任何计时器: public class DigitalClock { private int hr; private int min; private int sec; public void setTime(int hours, int minutes, int seconds) { if (0 <= hours && hours <

嘿,伙计们,我有这个问题。我们必须制作自己的时钟计时器,我已经完成了特定的任务,但我的程序仍然没有显示任何计时器:

public class DigitalClock {
  private int hr;
  private int min;
  private int sec;

  public void setTime(int hours, int minutes, int seconds)
  {
    if (0 <= hours && hours < 24)
      hr = hours;
    else 
      hr = 0;

    if (0 <= minutes && minutes < 60)
      min =  minutes;
    else 
      min = 0;

    if (0 <= seconds && seconds < 60)
      sec = seconds;
    else 
      sec = 0;
  }

  public int getHours()
  {
    return hr;
  }

  public int getMinutes()
  {
    return min;
  }

  public int getSeconds()
  {
    return sec;
  }

  public void printTime()
  {
    if (hr < 10)
      System.out.print("0");
    System.out.print(hr + ":");
    if (min < 10)
      System.out.print("0");
    System.out.print(min + ":");
    if (min < 10)
      System.out.print("0");
    System.out.print(sec);
  }

  public void incrementHours()
  {
    hr++;

    if (hr > 23)
      hr = 0;
  }

  public void incrementMinutes()
  {
    min++;
    if (min > 59)
    {
      min = 0;
      incrementHours();
    }
  }

  public void incrementSeconds()
  {
    sec++;
    if (sec > 59)
    {
      sec = 0;
      incrementMinutes();
    }
  }
}
公共类数字时钟{
私人国际人力资源;
私用int min;
私人国际证券交易委员会;
公共无效设置时间(整数小时、整数分钟、整数秒)
{
如果(0 59)
{
秒=0;
递增分钟();
}
}
}

我认为您可能遗漏了代码中的主要方法

public static void main(String args[])
{
    DigitalClock clock = new DigitalClock();
    clock.setTime(22, 14, 10);
    clock.incrementHours();
    clock.printTime();

}
如果我将main方法添加到代码中,那么它会给出如下输出:

23:14:10
Edit1
正如@RC在他的评论中提到的,您在检查
sec
时比较
min
,因此您必须将其更改为:

if (sec < 10)
  System.out.print("0");
if(第10节)
系统输出打印(“0”);

您缺少主要方法: 您可以使用main方法和startTimer方法,如:

public void startTimer(int noOfSeconds) throws InterruptedException {
         setTime(0, 0, 0);
          while(noOfSeconds>0) {
              incrementSeconds();
              Thread.currentThread().sleep(1000);
              printTime();
              noOfSeconds--;
          }
   }


  public static void main(String[] args) throws InterruptedException {
      DigitalClock dc = new DigitalClock();
      int noOfSeconds = 1000;
      dc.startTimer(noOfSeconds);

  }

它将在您经过的几秒钟内运行计时器。

我们可以看到主代码吗?如果不打印,您的程序会做什么?问题不清楚,请您简要解释一下。为什么使用printTime方法hr@nishu我想OP只想用两位数的格式打印时间。这就是为什么他在值小于10时添加
0
if(min<10)System.out.print(“0”);系统输出打印(秒)@RC良好拾取,则代码>被更正为
。答案中已编辑。为什么在“DigitalClock=new DigitalClock”下显示错误“找不到符号”?对不起,我只是一个初学者,我觉得java非常难,所以我正在练习。谢谢你的帮助,没关系。它发生在开始时。将代码张贴在出现错误的地方。