4−6 繰り返し処理(2)
-
for文の導入-


基礎課題4−10
何乗の値を計算したいか (ここでは4乗) を入力して
計算」ボタンを押すと
その値を計算してくれる、というプログラムを作りましょう。

まずは次のようにフレームを作ってください。
コンポーネント Name
左のテキストフィールド jTextFieldJo
右のテキストフィールド jTextFieldResult
下のボタン jButtonCalc

このプログラムでは、「何回2倍するか」はプログラム実行後にユーザが決めるので、今までのようにプログラム実行前に
あらかじめ決まった回数だけ書いておくことはできません。
そこで・・・

指定した回数だけ繰り返し処理を実行するときは、for という命令を使います。
for (カウンタの初期設定; 条件式; カウンタの増分){
     ・
     ・←繰り返し実行する処理;
     ・
}

 カウンタとは、繰り返し実行する回数を数える変数ですforでは、 このカウンタの値をチェックしながら、プログラムを制御します。

 forに続く()の中は、3つの命令文で構成されています。 セミコロン(;)で区切って記述してください。

※ただし、3つ目の命令文の後ろには、セミコロンは付けません。
  • 1つ目の命令文は、カウンタの初期値の設定です。
    • forを実行する前に、カウンタ用の変数に値が代入されている場合、ここで初期化されます。

  • 2つ目の命令文は、ループ構造を終了するための条件式です。
    • 通常は、「カウンタの値が10以下」のように、カウンタの値を使った条件式を記述します。

  • 3つ目の命令文は、カウンタの増分です。
    • 処理を繰り返すたびに、ここで指定した値をカウンタに加算します。
       


例えば、上記のように2の15乗を求めるプログラムをforで作成するには、次のように記述します。

i++”は”i = i + 1”と同じ処理を行います。”i = i + 1”のように記述するよりも処理速度が速いので、
for文の中でカウンタの増分を指定するときは、このように省略した形で書くのが一般的です。
カウンタの増分が+1のとき
(i が 1 から 15 になるまで)
for ( i = 1; i <= 15; i++ )
カウンタの増分が-1のとき
(i が10から1になるまで)
for ( i = 10; i <1; i-- )
カウンタの増分が+5のとき
(i が0から50になるまで)
for ( i = 0; i <= 50; i+ = 5)
 forの終わりにはセミコロン(;)を付けません。
繰り返し実行する処理が1文だけの場合は、処理のまとまりを{} で囲む必要はありません。
言い換えると、繰り返し処理の中で複数の文を実行する場合は、必ず{}で囲まなければなりません。

 また、繰り返し実行する処理が上記のプログラムのように1行だけのときは「{ }」を省略することができますが、
省略しなくてもエラーが出るわけではないので、残しておいた方が良いでしょう。

基礎課題4−10の解答


基礎課題4−11

先ほどのプログラムを改変して、

数値を入れたら (この例では5)
3の累乗が求められるプログラムを作りなさい。

基礎課題4−11の解答


基礎課題4−12

かけ算は、足し算の繰り返しと考えることができます。例えば、2×5は、「2を足す」ということを5回繰り返すことです。
このように考えると、かけ算の記号「*」を使わずに、for
を使ってかけ算の答を求めることができます。
前のページのプログラムを改変して

数値を入れたら (この場合は9)
4+4+4+…+4 を求めるプログラムを、forを使って作って下さい
(ただし、 プログラムの中でかけ算「*」を使ってはいけません。)

基礎課題4−12の解答


基礎課題4−13
怒りの度合いを数値で入力し「怒る」ボタンを押すと

その度合いに応じて「こら こら・・・」と表示するプログラムを
作りなさい。
  • 度合いが1なら「こら」
  • 度合いが2なら「こら こら 」
  • 度合いが3なら「こら こら こら 」
    (以下同様)

基礎課題4−13の解答