条件判断を行なう場合に,一つの判断基準だけでは済まない場合もあります.たとえば,ある西暦年号yが"昭和"であるかどうかを判定するとしましょう.昭和1年(元年)が1926年,昭和64年が1989年ですから,条件としては
1926以上かつ1989以下
となります.これは,単純な大小比較をかつで組み合わせた形をしています.もちろんifで判定したものに対してifを再度用いることも可能ですが,Javaではこれを
1926 <= y && y <= 1989
と書きます.&&が「かつ」を表わしています.
これを利用して,1900年から2000年までの10年ごとの年号を表示してみましょう.関係するのは明治(1868〜1912),大正(1912〜1926),昭和(1926〜1989),平成(1989〜)の4つの元号ですから,ifによる条件判定が4つ並んだ形となります.
class Gengou { public static void main(String argv[ ]) { int y; for(y=1900; y<=2000; y=y+10) { if(1868 <=y && y <=1912) System.out.println(y + "年は明治です."); if(1912 <=y && y <=1926) System.out.println(y + "年は大正です."); if(1926 <=y && y <=1989) System.out.println(y + "年は昭和です."); if(1989 <=y) System.out.println(y + "年は平成です."); } } }
for形式でのyの値のふやし方(y=y+10)に注意して下さい.結果は
1900年は明治です. 1910年は明治です. 1920年は大正です. 1930年は昭和です. 1940年は昭和です. 1950年は昭和です. 1960年は昭和です. 1970年は昭和です. 1980年は昭和です. 1990年は平成です. 2000年は平成です.
26.1.4.5 選択実行 | 26.1.4.6 条件の複合化 | 26.1.4.7 年号変換 | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Thu, 02 Sep 2004 18:38:23 JST (1793d) |