2013-05-02 166 views
0

編譯我的java程序後,出現一堆錯誤,我不知道如何解決它們。任何人都可以幫我一把嗎? =/獲取無法解析的錯誤

class Date{ 

    public static boolean isLeapYear(int year){ 
     boolean answer = false; 

     if(year % 4 == 0 &&(year % 400 == 0 || year % 100 != 0)) 
      answer = true; 
     else 
      answer = false; 

     return answer; 
    } 
} 


int returnDaysInMonth (int year, int month){ 

if (month==1||month==3||month==5||month==7||month==8||month==10||month==12){ 

    return 31; 

} else if (month==4||month==6||month==9||month==11){ 

    return 30; 

} else if(isLeapYear(year)){ 

    return 29; 
} else { 
     return 28; 

} 
} 

以下是編譯錯誤:

/Users/vlop/NetBeansProjects2/JavaLibrary1/src/Date.java:22: class, interface, or enum expected 
public int returnDaysInMonth (int year, int month){ 
/Users/vlop/NetBeansProjects2/JavaLibrary1/src/Date.java:28: class, 
interface, or enum expected 
} else if (month==4||month==6||month==9||month==11){ 
/Users/vlop/NetBeansProjects2/JavaLibrary1/src/Date.java:32: class, 
interface, or enum expected 
} else if(isLeapYear(year)){ 
/Users/vlop/NetBeansProjects2/JavaLibrary1/src/Date.java:35: class, 
interface, or enum expected 
} else { 
/Users/vlop/NetBeansProjects2/JavaLibrary1/src/Date.java:38: class, 
interface, or enum expected 
} 
5 errors 

回答

0

你需要周圍方法

+0

一個例子將使這更清楚 - 這行需要支架,而支架應該在哪裏呢? – 2013-05-02 02:19:43

0

您的支架全亂了,導致不能夠類括號加以解決,是你使用編譯器或像eclipse這樣的編程來編程,因爲它應該告訴你,有一個問題

1

你想在你的類聲明後做一堆Java 已經被關了。

正確的壓痕有助於確定此類問題:

class Date { 
    public static boolean isLeapYear(int year) { 
     boolean answer = false; 

     if(year % 4 == 0 &&(year % 400 == 0 || year % 100 != 0)) 
      answer = true; 
     else 
      answer = false; 

     return answer; 
    } 
} // End of class. 

// WAT 
int returnDaysInMonth (int year, int month) { 

// etc. 

此外,單獨的問題,但你可以直接返回布爾表達式的結果:

public static boolean isLeapYear(int year) { 
    return ((year % 4 == 0) && ((year % 400 == 0) || (year % 100 != 0))); 
} 

即使你不舒服那你仍然可以避免一些噪音:

public static boolean isLeapYear(int year) { 
    if (year % 4 == 0 &&(year % 400 == 0 || year % 100 != 0)) { 
     return true; 
    } 
    return false; 
} 
+0

非常感謝您的幫助! =) – vic 2013-05-02 01:40:14

0

這些都是簡單的以找到閏年。

public static boolean isLeapYear(int year) { 
    assert year >= 1583; // not valid before this date. 
    return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0); 
} 
0

它應該是這樣的

class Date { 

public static boolean isLeapYear(int year) { 

    boolean answer = false; 

    if (year % 4 == 0 && (year % 400 == 0 || year % 100 != 0)) 

     answer = true; 

    else 
     answer = false; 

    return answer; 

} 

int returnDaysInMonth(int year, int month) { 

    if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 
      || month == 10 || month == 12) { 

     return 31; 

    } else if (month == 4 || month == 6 || month == 9 || month == 11) { 

     return 30; 

    } else if (isLeapYear(year)) { 

     return 29; 
    } else { 
     return 28; 

    } 
} 

} 
+0

但據說已有方法和libs這種類型的東西,我建議,如果你正在做什麼日期,你看看喬達日期時間庫 – 2013-05-02 01:34:48

+0

謝謝一堆安迪! =) – vic 2013-05-02 01:39:46

+0

歡迎隊友!如果你想高舉這將是偉大的! – 2013-05-07 17:09:03