【Java SE17 Silver 模擬試験】B-01

Java SE17 Silver 模擬試験
Java SE17 Silver 模擬試験

問題

次のコードをコンパイル、実行するとどうなりますか。

public class Main {
	public static void main(String... args) {
		String[] states = { "CO", "CA", "NY", "DC", "TX" };
		for (int i = 0; i < states.length; i++) {
			String state = states[i];
			switch (state) {
			case "CA":
				continue;
			case "DC":
				break;
				default:System.out.print(state);
			}
			System.out.print(":");
		}
	}
}

選択肢

A)CO:CA:NY:DC:TX: が出力される

B)CO:NY:DC:TX: が出力される

C)CO: :NY:TX: が出力される

D)CO:NY:TX: が出力される

E)CO:CA:NY: :TX: が出力される

F)CO: :NY: :TX: が出力される

G)CO:NY: :TX: が出力される

解答

A)CO:CA:NY:DC:TX: が出力される

B)CO:NY:DC:TX: が出力される

C)CO: :NY:TX: が出力される

D)CO:NY:TX: が出力される

E)CO:CA:NY: :TX: が出力される

F)CO: :NY: :TX: が出力される

G)CO:NY: :TX: が出力される

解説

コードの動作

  1. 配列の初期化:
    • states 配列には CO, CA, NY, DC, TX の5つの州名が格納されています。
  2. for ループ:
    • for ループが states 配列の各要素を処理します。
  3. switch 文:
    • 各州名に対して switch 文が評価されます。
    • case "CA": この場合は continue が実行され、次のイテレーションにスキップします。
    • case "DC": この場合は break が実行され、for ループの残りの部分がスキップされます。
    • default: その他の州名(CO, NY, TX)が出力されます。

各州名の処理

  • CO:
    • default に該当し、CO が出力されます。
    • System.out.print(":"); が実行され、: が出力されます。
  • CA:
    • continue により、次のイテレーションにスキップされるため、出力されません。
  • NY:
    • default に該当し、NY が出力されます。
    • : が出力されます。
  • DC:
    • break により、ループから抜け出します。このため、DC は出力されず、: も出力されません。
  • TX:
    • ループは DC で終了するため、TX は処理されません。

正しい選択肢

この結果に基づいて、正しい選択肢は C)CO: :NY:TX: です。

次の問題へ SE17_B-02

対象資格:Java SE17 認定資格