String を拡張 for で回す
このコードを実行するとどうなるか。
public class Main {
public static void main(String[] args) {
for (char c : "abc") {
System.out.print(c);
}
}
}
- A
abcと出力される - B 何も出力されない
- C 実行時に例外が発生する
- D コンパイルエラーになる
正解と解説を見る
正解: D
- A: 実行まで進まないので、何も出力されません。
- B: 実行まで進まないので、何も出力されません。
- C: 拡張 for に使えない型はコンパイル時に見つかります。
- D: 拡張 for に使えるのは配列と Iterable だけです。String は使えないのでコンパイルエラーです。
ポイント
- 拡張 for に使えるのは配列と Iterable (ArrayList など) だけです。String は使えません。
"abc".toCharArray()で char 配列にすれば回せます。
「繰り返し文 (do/while、while、for 文および拡張 for 文) の使用」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)