Tips

Java Silver 練習問題15

Java Silver 練習問題15

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

 

■問題1

次のプログラムでをコンパイル、実行した際に結果が6と表示されるには①と②にどのようなコードを入れればよいか。
選択肢の中から適切な組み合わせを全て選べ。

public class Sample {
    public static void main(String[] args) {
        int[] array = { 1, 2, 3 };
        int sum = 0;
        for (①) { // ・・・①
            ②; // ・・・②
            sum += i;
        }
        System.out.println(sum);
    }
}
  1. ① int i = 0; i < array.length; i++
    ② int num = array[i]
  2. ① int i = array[array.length]; i <= 0; i–
    ② int num = array[i]
  3. ① int i : array
    ② なし
  4. ① int i : array
    ② int num = array[i]
  5. ① int num : array
    ② sum = 6

※2018/3/23 選択肢に間違いがあったので訂正しました

解答はここをクリック!

【解答 1,3】
解説
1は通常のfor文ですが、3は拡張for文を使用しています。
2は①が「int i = array[array.length]- 1; i <= 0; i–」であればOKです。

 

■問題2

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

import java.util.ArrayList;

public class Sample {
    public static void main(String[] args) {
        ArrayList<String> words = new ArrayList<String>();
        words.add("Good");
        words.add(" mornig");

        for(int word : words) {
            System.out.print(word);
        }
    }
}
  1. 「Good mornig」と表示
  2. 「word」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答 4:コンパイルエラー】
解説
9行目のwordsでコンパイルエラーになります。
wordsの中がString型ならばwordの方もStringでなければなりません。

 

■問題3

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

import java.util.ArrayList;

public class Sample {
    public static void main(String[] args) {
        ArrayList<Integer> al = new ArrayList<>();
        for(int i = 1; i <= 3; i++) {
            al.add(i);
        }
        System.out.println(al.get(1));
    }
}
  1. 「1」と表示
  2. 「2」と表示
  3. 「3」と表示
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答 2:「2」と表示】
解説
配列と同様、ArralyListも要素番号は0から始まります。
したがって要素番号1には2が格納されています。

 

■問題4

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

import java.util.ArrayList;

public class Sample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("Gold");
        list.add("Silver");
        list.add("Bronze");

        list.remove(0);
        System.out.println(list.get(0));
    }
}
  1. 「Gold」と表示
  2. 「Silver」と表示
  3. 「Bronze」と表示
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答 2:「Silver」と表示】
解説
10行目で要素番号0の値を削除しています。
するとSilverが[0]に、Bronzeが[1]になります。
削除された分、前に詰めるようなイメージですね。

 

■問題5

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

import java.util.ArrayList;

public class Sample {
    public static void main(String[] args) {
        ArrayList<Character> al = new ArrayList<Character>();
        al.add('H');
        al.add('E');
        al.add('L');
        al.add('L');
        al.add('O');

        System.out.println(al);
    }
}
  1. 「HELLO」と表示
  2. 「何も表示されない」
  3. コンパイルエラー
  4. 実行時エラー
  5. 1~4以外
解答はここをクリック!

【解答 5:1~4以外】
解説
このプログラムを実行すると以下が表示されます。
[H, E, L, L, O] []も表示されます。
ArrayListの参照変数をprint、あるいはprintlnに渡すと[]の中に要素をカンマ区切りですべて表示することができます。
ただし、配列の変数で同様のことをするとハッシュコードが出力されてしまうので注意して下さい。


前回の問題

次回の問題

 

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

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search