Java Gold SE7対策問題 – 問17

この記事は2016年3月14日に書かれたものです。内容が古い可能性がありますのでご注意ください。


Javaの認定資格「Oracle Certified Java Programmer, Gold SE 7」。通称JavaGoldのオリジナル問題を紹介していきたいと思います。

前回の解答

まずは、前回の解答から。

正解は「(2) java.lang.IllegalArgumentException実行時エラーが発生する」となります。
コマンドラインで実行するプログラムですので、引数として指定した「spring」がmainメソッドの引数argsの中に格納されています。5行目の条件はfalseとなりますのでそのまま9行目が実行されますが、valueOf()メソッドの引数に指定した文字列がenumの値の中に存在しない場合には「IllegalArgumentException」がスローされます。

APIリファレンス
https://docs.oracle.com/javase/jp/7/api/java/lang/Enum.html#valueOf(java.lang.Class, java.lang.String)


問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;
	}
}
  1. JAVA JAVA RUBY C JAVASCRIPT
  2. RUBY JAVASCRIPT JAVA JAVA C
  3. JAVA RUBY C JAVASCRIPT
  4. RUBY JAVASCRIPT JAVA C
  5. コンパイルエラーが発生する
  6. 実行時エラーが発生する
  7. 何も表示されない

問17の解答・解説と問18はこちら

  • このエントリーをはてなブックマークに追加

PAGE TOP