第6講 if文を理解しよう
第5話 if~else文による多段階評価
class y{
public static void main(String args[]){
int a;
for(i=0;i<10;i++){
a=(int)(Math.random()*101);
System.out.print(a);
if(a>=50){
System.out.println("は合格");
}
else{
System.out.println("は不合格");
}
}
}
}
は
class y{
public static void main(String args[]){
int a;
for(i=0;i<10;i++){
a=(int)(Math.random()*101);
System.out.print(a);
if(a>=50){
System.out.println("は合格");
}
if(a<50){
System.out.println("は不合格");
}
}
}
}
と肯定文肯定文で書くことができます。
そして、if~else文の場合後半部分が、否定文になるので使わない方がよいという意見の人もいます。
確かに、a>=50の否定はa<50であるということがわかりにくい場合もあります。
ですが、私はif~else文も場面によっては使ってもよいと思います。
if~else文を入れ子式に使うと、実は合格・不合格の2段評価でなく、
3段評価、4段評価、5段評価などができるからです。
if~else文を入れ子式に使うとはどういう意味でしょうか。
if(*){
・
}
else{
if(*){
・
}
else{
・
}
}
if~else文の否定部分にまた、if~else文を組み込むのが入れ子式です。
何回でもelse部分に組み込むことができますので、多段階選択が可能なわけです。
では、実際に3段階評価を組んでみましょう。
80点以上は『:優秀です』、80点未満50点以上は『:がんばりました』、50点未満は『:もう一歩の努力が必要です』
にするにはif~else文をどのように書いたらよいですか。
コーティング(=ソース=コード=プログラミングの文章)を変更してください。
解答例は30行下。
コード例
class y{
public static void main(String args[]){
int a,i;
for(i=0;i<20;i++){
a=(int)(Math.random()*101);
System.out.print (a);
if(a>=80){
System.out.println(":優秀");
}
else{
if(a>=50){
System.out.println(":がんばりました");
}
else{
System.out.println(":今一歩の努力が必要です。");
}
}
}
}
}
実行画面例
(これもVC++によるC言語講義からの転用です。ランダムなので発生順などが違います。)
else{
if(a>=50){
のa>=50は、a>=80が否定されている条件下ですから実質80点未満50点以上と同じになります。
一桁のとき、位置がずれていますのでif文を使って次のようになるように変更しましょう。
解答例は次話で。
第4話へ 第6話へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第2部
初心者のための
VC++による C言語 入門 C++ 入門 基礎から応用まで第3部