第6講 if文を理解しよう 
第6話 if~else文による3段階評価
第5話問題解答例
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{
          if(a<10)System.out.print(" ");
          System.out.println(":今一歩の努力が必要です。");
        }
      }
    }
  }
}
解説
if(a<10)System.out.print(" ");に?マークですよね。
今までの書き方なら
if(a<10){
  if(a<10)System.out.print(" ");

}
ですが、
実はif文もif~else文も1文しかないときは、
if(*)A;
if(*)A;else B;
と1行で書けるのです。
ただし、elseと文の間には半角スペースが必要です。

この書き方を使用すれば
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{
        if(a<10)System.out.print(" ");
        System.out.println(":今一歩の努力が必要です。");
      }
    }
  }
}

と簡略になります。ただ、余りにも簡略にするのはお勧めできません。
わかりにくくなるからです。やはり、
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{
          if(a<10)System.out.print(" ");
          System.out.println(":今一歩の努力が必要です。");
        }
      }
    }
  }
}
と書くべきです。段組が組んであって、入れ子式の構造が明らかだからです。

さて、それでは次に4段階評価に挑戦しましょう。段階評価は、例えば
80点以上なら『非常に優秀』、80点未満70点以上なら『優秀』、70点未満50点以上なら『普通』、50点未満なら『努力が必要』
などとしましょう。尚、プログラミングには遊びが必要ですから、コメントをいろいろ変えて楽しんでください。


第5話へ 第7話へ

戻る

VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部