Tips

Java Silver 練習問題6

Java Silver 練習問題6

Java Silverに関する問題を出題していきます!

■問題1

次のプログラムをコンパイル、実行した結果として正しいものはどれか。


public class Sample {
    public static void main(String[] args) {
        String str;
        int num = 10;

        if(num % 2 == 0) {
            str = "偶数";
        } else if(num % 2 == 1) {
            str = "奇数";
        }
        System.out.println(str);
    }
}
  1. 「偶数」と出力
  2. 「奇数」と出力
  3. コンパイルエラー
  4. 実行時エラー
  5. 何も表示されない

 

解答はここをクリック!

【解答:3】

if文とelse if文で分岐して奇数偶数の判定をしていますが、これだとstrが初期化されない可能性がでてきてしまいます。
今回はif文かelse if文どちらかが必ず実行されるような条件を書いていますが、これでもダメです。
条件関係なく、if文else if文ともにfalseが返ればstrは初期化されません。
直す場合はstrを初期化しておくか、else ifではなくelseにするとコンパイルが通るようになります。

 

 

 

■問題2

次のプログラムをコンパイル、実行した結果として正しいものはどれか。


public class Sample {
    public static void main(String[] args) {
        for(int i = 0; i <= 3; i++) {
            System.out.print("a ");
        }
    }
}
  1. a a
  2. a a a
  3. a a a a
  4. コンパイルエラー
  5. 何も表示されない
解答はここをクリック!

【解答:3】

for文が繰り返される度に変数iがインクリメントされていきます。
その条件が「3以下」となっていますね。
つまり、0,1,2,3の計4回繰り返されることになります。

 

 

 

■問題3

次のプログラムをコンパイル、実行した結果として正しいものはどれか。


public class Sample {
    public static void main(String[] args) {
        int a = 0;

        for(; a < 3; a++) {
            System.out.print(" " + a);
        }
    }
}
  1. コンパイルエラー
  2. 実行時エラー
  3.  0 1
  4.  0 1 2
  5.  0 1 2 3
解答はここをクリック!

【解答:4】

forの変数はfor文の外で宣言することもできます。

 

 

 

■問題4

次のプログラムをコンパイル、実行した結果として正しいものはどれか。


public class Sample {
    public static void main(String[] args) {
        for(int i = 1; i <= 3; i++) {
            String str = i + "回";
        }
        System.out.println(str);
    }
}
  1. コンパイルエラー
  2. 実行時エラー
  3.  123回
  4.  6回
  5.  3回
解答はここをクリック!

【解答:1】

strのスコープが問題です。
strはfor文のブロックで宣言されているので、その外で使用することはできません。

 

 

 

■問題5

次のプログラムをコンパイル、実行した結果として正しいものはどれか。


public class Sample {
    public static void main(String[] args) {
        for(;;) {
            System.out.println("a");
        }
    }
}
  1. a
  2. コンパイルエラー
  3.  実行時エラー
  4.  何も表示されない
  5.  その他
解答はここをクリック!

【解答:5】

for文の初期化と条件式と継続処理の3つが記述されていません。
この場合無限ループとなり、aが出力され続けます。

新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search