leap_year.javaにコンパイルエラーが出る


leap_year.java

[code]

    class leap_year{
        int dim;
        int uruudosi(int yy);
        if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
            dim = 29; // うるう年
        else
            dim = 28;
        }
        return dim;
    }
    
[/code]

cmdでのエラー

[code]

    leap_year.java:7: エラー: 型の開始が不正です
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
    ^
    leap_year.java:7: エラー: 型の開始が不正です
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
       ^
    leap_year.java:7: エラー: ')'がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
        ^
    leap_year.java:7: エラー: ';'がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
            ^
    leap_year.java:7: エラー: 型の開始が不正です
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
               ^
    leap_year.java:7: エラー: <identifier>がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                ^
    leap_year.java:7: エラー: ';'がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                   ^
    leap_year.java:7: エラー: 型の開始が不正です
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                      ^
    leap_year.java:7: エラー: ';'がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                             ^
    leap_year.java:7: エラー: <identifier>がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                                                 ^
    leap_year.java:7: エラー: 型の開始が不正です
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                                                    ^
    leap_year.java:7: エラー: <identifier>がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                                                       ^
    leap_year.java:7: エラー: ';'がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                                                          ^
    leap_year.java:7: エラー: 型の開始が不正です
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                                                            ^
    leap_year.java:7: エラー: <identifier>がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                                                             ^
    leap_year.java:7: エラー: ';'がありません
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                                                              ^
    leap_year.java:8: エラー: 型の開始が不正です
                    dim = 29; // うるう年
                        ^
    leap_year.java:8: エラー: <identifier>がありません
                    dim = 29; // うるう年
                         ^
    leap_year.java:9: エラー: 型の開始が不正です
                else
                ^
    leap_year.java:9: エラー: ';'がありません
                else
                    ^
    leap_year.java:10: エラー: 型の開始が不正です
                    dim = 28;
                        ^
    leap_year.java:10: エラー: <identifier>がありません
                    dim = 28;
                         ^
    leap_year.java:12: エラー: class、interfaceまたはenumがありません
            return dim;
            ^
    leap_year.java:13: エラー: class、interfaceまたはenumがありません
    }
    ^
    エラー24個
    
[/code]

このコンパイルエラーをどう直したらいいかがわかっていないです。どのように修正したらいいでしょうか。




これを動くように改善するなら次のような感じでしょうか。

[code]

    class leap_year{
        int dim;
        int uruudosi(int year){
        if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
            dim = 29; // うるう年
        }else{
            dim = 28;
        }
        return dim;
       }
    }
    
[/code]

インデントはぐちゃぐちゃですが、こうなりました。  
更に改善するには、

[code]

    public class leap_year{
        public static int uruudosi(int year){
    //インスタンスを生成せずにアクセスできる
            int dim;//フィールドにする必要はない
            if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
                    dim = 29; // うるう年
              }else{
                    dim = 28;
            }
              return dim;
        }
     }
    
[/code]

ですかね。

