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はこちら