2013-05-02 60 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

相关问题