Java 改变时分和秒

Java 改变时分和秒,java,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 ++; }

时间设置为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;
}
}
public void increment()
{

如果(秒=60&&minutes=60&&hours您正在使用
'=='
等效运算符执行赋值操作。请更正该错误。。。 在分配“0”时,它应该是
minutes==0;
,而不是
minutes==0;
,依此类推。
=
将计算为
布尔值
。您还使用了secounds,而不是
seconds


请参阅!

您正在使用
'=='
等效运算符执行赋值操作。请更正此错误。。。 在分配“0”时,它应该是
minutes==0;
,而不是
minutes==0;
,依此类推。
=
将计算为
布尔值
。您还使用了secounds,而不是
seconds


看!

我认为你的逻辑是错误的

if(secounds <= 59)
{
   seconds ++;
}
此外,正确拼写秒数(在某些地方拼写错误,在一个地方拼写正确…)

您的代码变成:

public void increment()
{
seconds ++;

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

我认为你的逻辑是错误的

if(secounds <= 59)
{
   seconds ++;
}
此外,正确拼写秒数(在某些地方拼写错误,在一个地方拼写正确…)

您的代码变成:

public void increment()
{
seconds ++;

if (seconds >= 60)
{
   seconds = 0;
   minutes ++;
}
if(minutes >= 60)
{
   hours++;
   minutes = 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;
    }
}

你可以做同样的事情容易得多

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

对于初学者来说,你的时钟永远不应该读“60”,那应该是“00”,所以你的
if
语句“一个接一个”没有使用任何特定的原因?你还混合了
秒数
秒数
。对于初学者来说,你的时钟永远不应该读“60”,那应该是“00”,所以你的
if
语句“一个接一个”你不使用的任何特殊原因?你还混合了
秒数
秒数
秒数
秒数/返回/计算到。只有函数返回。很抱歉,我现在要修复秒数,拼写错误在我身上很普遍。不,我不能在netbeans或任何东西上尝试,因为我正在工作,没有访问权限。看看Matthieu的答案。你的逻辑似乎有点不对劲。希望它对你有用…痛苦的java考试、netbeans或任何IDE都会发现错误,我本可以正确地测试我的逻辑,但在考试条件下,我无法访问这些,因此需要3个小时不断检查我的拼写。哦…考试哈?祝你好运!
s/return/evaluate to
。只有函数返回。很抱歉,我现在要修复秒数,拼写错误在我身上很普遍。不,我不能在netbeans或任何东西上尝试,因为我正在工作,没有访问权限。看看Matthieu的答案。你的逻辑似乎有点不对劲。希望它能为你工作……痛苦的编写java考试、netbeans或任何IDE我发现了他们的错误,我本可以正确地测试我的逻辑,但在考试的情况下,我无法访问这些错误,因此需要3个小时的时间不断检查我的拼写。哦…考试,嗯?祝你好运!