2011-03-17 63 views
0

出于某种原因,类方法getTime()不会在控制台屏幕上输出时间。我哪里做错了?类方法不会显示结果

+0

是否有'Console.WriteLine(“Heloo”);'输出到控制台? – climbage 2011-03-17 18:52:16

+0

@Stainless:你有没有试过'Console.WriteLine(h)'? – Marnix 2011-03-17 18:52:51

+0

@climbage是的。 Heloo输出,但如果我把它放在对象创建和get方法之后,它不会。 @Marnix Nope。 @jsmith没有。 – Stainless 2011-03-17 18:54:03

回答

2

夫妇函数中的while循环永远不会返回。 尝试

 private void setM(int minutes) 
     { 
      while (minutes > 59) 
      { 
       h++; 
       minutes-=60; 
      } 
      m = minutes; 
     } 

 private void setS(int seconds) 
     { 
      while (seconds > 59) 
      { 
       m++; 
       seconds-=60; 
      } 
      s = seconds; 
     } 
+0

这是我第一次迭代这些方法看起来像,但我甚至没有测试试图“简化”他们。谢谢 – Stainless 2011-03-17 19:00:43

4

你一套方法都有无限循环!

private void setM(int minutes) 
{ 
    while (minutes > 59) 
    { 
     h++; 
     m = minutes - 60; 
    } 
} 

什么时候该方法停止?

+0

你是对的,修正了,但是,不是先评估右边,分钟减去然后分配给米。 – Stainless 2011-03-17 19:01:11

+0

@Stainless:不,因为你正在查看'minutes',但'minutes'永远不会改变,你可以将'(minutes - 60)'保存为'm',但'minutes'会仍然具有相同的值,您必须说:'minutes = minutes - 60',因为StackOverflowException的建议。当您完成while循环时,可以设置'm = minutes',以便设置剩余分钟数进入'm'。 – Marnix 2011-03-17 19:40:50