2014-08-31 60 views
-2

我的時鐘代碼在十點鐘以外的每隔一小時工作。在每隔一個小時,每隔秒鐘60就增加1分鐘,但由於某種原因,在10點鐘的時候,每隔10秒鐘增加1分鐘。我不知道我做錯了什麼。請幫忙!我的時鐘代碼在十點鐘停止工作

package misk; 


public class Misk { 
    public static void main(String[] args) throws InterruptedException { 
     int x = 0; 
     int sec = 0, min = 0, hour = 9; 
     while (x == 0) { 
     Thread.sleep(10); 
     sec++; 
     if (sec == 60) { 
      sec = 0; 
      min++; 
     } 
     if (min == 60) { 
      min = 0; 
      hour++; 
     } 
     if (sec < 10) { 
      if (min < 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":0" + min + ":0" + sec); 
       } 
      } 
     } 
     if (sec > 10) { 
      if (min < 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":0" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec < 10) { 
      if (min > 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":" + min + ":0" + sec); 
       } 
      } 
     } 
     if (sec < 10) { 
      if (min < 10) { 
       if (hour > 10) { 
        System.out.println("" + hour + ":0" + min + ":0" + sec); 
       } 
      } 
     } 
     if (sec > 10) { 
      if (min > 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec < 10) { 
      if (min > 10) { 
       if (hour > 10) { 
        System.out.println("0" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec > 10) { 
      if (min < 10) { 
       if (hour > 10) { 
        System.out.println("" + hour + ":0" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec > 10) { 
      if (min > 10) { 
       if (hour > 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min == 10) { 
       if (hour == 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec > 10) { 
      if (min == 10) { 
       if (hour == 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min > 10) { 
       if (hour == 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min == 10) { 
       if (hour > 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec > 10) { 
      if (min > 10) { 
       if (hour == 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min > 10) { 
       if (hour > 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec > 10) { 
      if (min == 10) { 
       if (hour > 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec < 10) { 
      if (min == 10) { 
       if (hour == 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min < 10) { 
       if (hour == 10) { 
        System.out.println("" + hour + ":0" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min == 10) { 
       if (hour < 10) { 
        System.out.println("" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec < 10) { 
      if (min < 10) { 
       if (hour == 10) { 
        System.out.println("" + hour + ":0" + min + ":0" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min < 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":0" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec < 10) { 
      if (min == 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":" + min + ":0" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min < 10) { 
       if (hour > 10) { 
        System.out.println("" + hour + ":0" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec < 10) { 
      if (min == 10) { 
       if (hour > 10) { 
        System.out.println("" + hour + ":" + min + ":0" + sec); 
       } 
      } 
     } 
     if (sec > 10) { 
      if (min == 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     if (sec < 10) { 
      if (min == 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":" + min + ":0" + sec); 
       } 
      } 
     } 
     if (sec == 10) { 
      if (min > 10) { 
       if (hour < 10) { 
        System.out.println("0" + hour + ":" + min + ":" + sec); 
       } 
      } 
     } 
     } 
    } 
} 
+0

請查閱並嘗試遵循Java代碼格式化規則。遵循這些規則,其他人將更容易閱讀和理解你的代碼,然後能夠幫助你。如果您使用的是大多數IDE,它們可以幫助您正確地爲您設置正確的代碼格式。 – 2014-08-31 15:41:40

+0

我試着修復你的代碼格式。在你的代碼中似乎有很多不必要的重複,這使得一眼就看不清發生了什麼。 – 2014-08-31 15:43:11

+0

謝謝。你知道我在代碼中做了什麼錯嗎? – nmelssx 2014-08-31 15:44:17

回答

3

首先,你的代碼是一團糟。

您需要學習如何更有效地使用條件,瞭解格式。

如果不是'2位數字',您可以在任何數字之前輕鬆添加'0'。

System.out.println(String.format("%02d %02d %02d", hour, minute, second)); 

您的代碼不工作在10點鐘,因爲你所有的條件都是‘小時> 10’或‘小時< 10’,和這兩個都是假的時hour == 10

+0

在'hour == 10'有一些測試,他只是缺少一個。 – Volune 2014-08-31 16:06:03