課題15:閏年の判定(メソッド作成)
プログラムファイル名:UruuM.java
クラス名:UruuM
課題の目標
- if命令を理解する。
- 条件式の書き方を理解する。
- 入力の方法、特に入力例外処理を理解する。
- 繰り返し処理とその終了方法を理解する。
- メソッドの作成方法を理解する。
課題内容
- 西暦年をキーボードから入力し、入力した年が閏年か否かを判定するプログラムを作成して下さい。
- 但し、閏年判定に関する以下の処理をメソッドで作成して下さい。
- 閏年の判定方法は、
- 西暦年が4の倍数であるが100の倍数ではない場合は、閏年である。
- 上記以外であっても400の倍数であれば、その年は閏年である。
- 上記2つの条件に一致しない場合は、閏年ではない。
- キーボードから入力された年が数値でない場合は、”入力が間違っています”のメッセージを表示し、再入力をするようにして下さい。
- キーボードから"end"が入力されるまで、西暦年を入力し判定を繰り返しするプログラムを作成して下さい。
作成の手引
- 閏年判定メソッドは、西暦年(整数)を引数で受け取り、それが閏年か否かを判定する。
判定結果、閏年であれば1を、閏年でなければ0(ゼロ)を戻り値として返す。例えば、
public static int UruuHantei(int nen){
:
閏年の判定処理
:
閏年であればーー>return 1;
閏年でなければー>return 0;
:
}
- 上記の場合、nenに西暦年が格納されて受け取る。
- UruuHantei()メソッドを利用するmain()方は、例えば以下のようにして渡す。
:
:
if (UruuHantei(n)==1) {
System.out.println(n + " nen ha Uruu toshi desu.");
}
else {
System.out.println(n + " nen ha Uruu toshi deha arimasen.");
}
:
:
参考プログラム
- 電子テキスト「制御命令の条件処理」に記述されているプログラム。
- 電子テキスト「数値入力時のエラー処理」に記述されているプログラム。
- 電子テキスト「繰り返し命令(while命令)」に記述されているプログラム。
- 電子テキスト「メソッド」に記述されているプログラム。
実行例
[egi@taro]$ java Uruu
Input Year ? 1995
1995 nen ha Uruu toshi deha arimasen.
Input Year ? 19x5
Error Input
Input Year ? 2004
2004 nen ha Uruu toshi desu.
Input Year ? end
【〆切】
2007年12月22日(土)
【提出物と提出方法】
- 問題
- プログラム
- 実行例あるいは実行結果
- 考察
- プログラム作成時に考えたこと、起こったエラーや問題点、それらをどのようにして解決できたかあるいは出来なかったかを記述してください。
- 感想
何らかの感想があれば書いておいてください。
Java演習 / 江木 / egi@ube-c.ac.jp