2012-01-24 33 views
0

我對Java相當陌生,正在開發一個名爲GoodDate的程序,其中程序根據參數是否爲有效日期(在終端中使用args)輸出YES或NO。由於有很多可能性,我已經通過簡短的介紹了這個美妙的互聯網,我應該在這裏使用一個開關,但是我很難開始。任何幫助n00b將不勝感激!我也已經有一個閏年程序我可以換到一類,那就是:我需要創建一個Java日期測試程序

public class LeapYear { 
    public static void main(String[] args) { 
     int year = Integer.parseInt(args[0]); 
     java.lang.String isLeapYear; 

     isLeapYear = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ? "YES" 
       : "NO"); 

     System.out.println(isLeapYear); 
    } 
} 
+0

爲什麼不使用具有內置功能的庫來驗證日期。像「喬達時間」一樣。 – RanRag

+1

因爲他可能試圖解決Spotify上的Java拼圖,並且您不應該使用外部庫^^:http://www.spotify.com/us/jobs/tech/best-before/ – nbarraille

+0

第一件事I猜你可以澄清是什麼你的實際問題是 - 你有一個例外,你得到不同的數字,你期望,等等?你也許會發現格式化代碼很有用,所以你可以使用if語句來打破邏輯,而不是將三元語句放在一行中,這樣你就可以更清楚地理解它了嗎? – f1dave

回答

0

我會做一個isLeapYear boolean - 真或假。這就是那種類型的用途。你爲什麼要使它成爲String

我建議移動到這本身就是一個功能,這樣你就可以重複使用它:

public class DateUtils { 

    public static void main(String [] args) { 
     for (String arg : args) { 
      // operate on arguments here. 
     } 
    } 

    public static boolean isLeapYear(Date date) { 
     return false; // put your logic here. 
    } 
} 

我沒有看到一處提到一個java.util.Date類。由於沒有利用它,你正在破壞自己。

您的其餘要求太模糊,無法評論。

相關問題