前提・実現したいこと
Javaでうるう年かどうか判断するコードを作っています。
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージは出ないのですが、どんな年をいれても全て普通の年だと判断されてしまいます。
エラーメッセージ
該当のソースコード
public class LeapYearCalculator{
public static boolean isLeapYear(int year){
if(year<0 || year>9999){
return false;
} else if(year%4==0){
return true;
}
return false;
}
}
public class Main {
public static void main(String[] args) {
boolean A=LeapYearCalculator.isLeapYear(2017); if(A==true){ System.out.println("leap year"); } else { System.out.println("usual year"); } }
}
ソースコード
別のやり方で書いているコードを見つけました。
私と同じことをやっているように見えます。なぜ、こちらは動くのに私のは正常に動かないのかわかりません。
public class LeapYear {
public static boolean isLeapYear(int year){
if( year>=1 && year<=9999){
if( (year %400==0)||(year%100 !=0 && year%4==0))
return true;
}
else
return false;
return false;
}
}
試したこと int yearの因数に - 1600, 1600, 2017 などをいれてみました。
全て普通の年だと判断されてしまいました。
ここに問題に対して試したことを記載してください。
別のやり方で書いているコードを見つけました。これは正常に動くようです。
私と書き方は違うますが、やっていることは同じだと思うのでやはり私のコードの不良の原因がわかりません、、すみません、ヒントだけでも教えていただけると助かります。
補足情報(FW/ツールのバージョンなど)
Udemyの教材で学習しています。Java独学を初めて一ヶ月くらいです。
ここにより詳細な情報を記載してください。
回答4件
あなたの回答
tips
プレビュー