更改小时分钟和秒

时间:2011-06-11 18:37:22

标签: java

时间设置为hh:mm:ss,所以时间是23:50:45,一旦到达午夜,它将变为00:00:00。我考试的练习题要求我写一个方法来做到这一点,我的逻辑是正确还是远离,我关心我的if else语句

public void increment()
{
if(seconds <= 59)
{
   seconds ++;
}
else if (seconds >= 60 && minutes<= 59)
{
   seconds == 0;
   minutes ++;
}
if(minutes >= 60 && hours <= 23)
{
   hours++;
   minutes == 0;
}
else
{
  hours == 0;
}
}

3 个答案:

答案 0 :(得分:3)

您正在使用'=='等价运算符执行赋值操作。纠正...... 而不是minutes==0;,它应该是minutes = 0;,而不是在分配'0'时。 ==将评估为boolean。您还在某个地方使用了secounds,而不是seconds

请参阅this

答案 1 :(得分:2)

你可以更容易地做同样的事情。

public void increment() {    
    seconds ++;
    if (seconds >= 60)
    {
       seconds = 0;
       minutes ++;
    }
    if(minutes >= 60)
    {
       hours++;
       minutes = 0;
    }
    if(hours >= 24)
    {
       hours = 0;
    }
}

答案 2 :(得分:1)

我认为你的逻辑错了......

if(secounds <= 59)
{
   seconds ++;
}

将导致秒数转为60 ...或者删除else后面的else if ...

正如anirudh4444所指出的,要分配给0,你应该使用=,而不是==

我会删除所有<=条件。并将最后一个替换为

if (hours >= 24) {
    hours =0;
}

此外,拼写秒正确(在某些地方拼写错误拼写错误...)

您的代码变为:

public void increment()
{
seconds ++;

if (seconds >= 60)
{
   seconds = 0;
   minutes ++;
}
if(minutes >= 60)
{
   hours++;
   minutes = 0;
}
if (hours >= 24)
{
  hours = 0;
}
}