Javaの認定資格「Oracle Certified Java Programmer, Gold SE 7」。通称JavaGoldのオリジナル問題を紹介していきたいと思います。
前回の解答
まずは、前回の解答から。
正解は「(2) java.lang.IllegalArgumentException実行時エラーが発生する」となります。
コマンドラインで実行するプログラムですので、引数として指定した「spring」がmainメソッドの引数argsの中に格納されています。5行目の条件はfalseとなりますのでそのまま9行目が実行されますが、valueOf()メソッドの引数に指定した文字列がenumの値の中に存在しない場合には「IllegalArgumentException」がスローされます。
問17
次のプログラムの実行結果として正しいものを1つ選んでください。
package techpjin; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; public class Lesson17 { public static void main(String[] args) { Set<Lang> ts = new TreeSet<Lang>(); ts.add(Lang.RUBY); ts.add(Lang.JAVASCRIPT); ts.add(Lang.JAVA); ts.add(Lang.JAVA); ts.add(Lang.C); for(Iterator<Lang> i = ts.iterator(); i.hasNext();) { Lang l = i.next(); System.out.print(l + " "); } } } enum Lang{ JAVA(1995), RUBY(1995), PYTHON(1991), C(1972), JAVASCRIPT(1995); private int year; Lang(int year){ this.year = year; } public int getYear(){ return year; } }
- JAVA JAVA RUBY C JAVASCRIPT
- RUBY JAVASCRIPT JAVA JAVA C
- JAVA RUBY C JAVASCRIPT
- RUBY JAVASCRIPT JAVA C
- コンパイルエラーが発生する
- 実行時エラーが発生する
- 何も表示されない
問17の解答・解説と問18はこちら