プログラミング入門

Java入門(その7)「ブロック、変数のスコープ」

演習詳細

演習の達成目標

理解度確認問題

演習課題

共通課題(, ) は授業内に完了すること。
オプション課題(問1, 2, 3)

共通課題1

下記の出力例のように、0から9までの数値がそれぞれ偶数、奇数かを表示したい。

Kadai061301(修正後)の実行例

0は偶数
1は奇数
2は偶数
3は奇数
...

上記出力を正しく実行するように、下記のプログラム Kadai061301.java にブロックの開始 { と終了 } を追加し、修正せよ。
/*
  プログラム名: Kadai061301.java
  作成日: 2016/06/13
  作成者: ここには自分の名前を書く
  概  要: ブロックに関するサンプルプログラム
*/
public class Kadai061301 {
    public static void main(String[] args){
        int a;
        for(a = 0; a < 10; a++)
            if((a % 2) == 0)
                System.out.print(a);
                System.out.println("は偶数");
	     if((a % 2) != 0)
                System.out.print(a);
                System.out.println("は奇数");
     }
}

共通課題2

下記のサンプルプログラム(Scope1.java)では、forループを抜けた後の、最終的な i の状態だけを表示したい。
public class Scope1 {
    public static void main(String[] args){
        for(int i = 0; i < 10; i++){
        }
        System.out.println("i の最後の値は "+ i);
    }
}
しかし、上記のプログラム(ソースコード)では下記のようにコンパイル時にエラーが出る。

Scope1.javaのコンパイル

Scope1.java:5: シンボルを解釈処理できません。
シンボル: 変数 i
位置    : Scope1 の クラス
        System.out.println("i の最後の値は "+ i);
                                              ^
エラー 1 個

以下の出力結果のように、i の最終値のみ表示するように、int i の宣言する場所を変更せよ(つまり、変数 i のスコープを変更する)。変更したプログラムを Kadai062302.java として提出すること。サンプルプログラムと提出プログラムの名前が異なるので注意すること。

Kadai062202の実行例

i の最後の値は 10


プログラミング入門
mackin