java 問題
1) java.lang.Iterable
2) 下記プログラムを実行した際の、三個所の if 文について説明せよ
/** * @author aileron */ public class EqTest { /** * @param args */ public static void main(final String... args) { final String test1 = test1(); final String test3 = test3(); final String test2 = "AAAA"; System.out.println("test1 : " + test1); System.out.println("test2 : " + test2); System.out.println("test3 : " + test3); if (test1.equals(test2)) { System.out.println("test1 eq test2"); } if (test1 == test2) { System.out.println("test1 == test2"); } if (test1 == test3) { System.out.println("test1 == test3"); } } /** * @return test1 */ private static String test1() { return "AAAA"; } /** * @return test3 */ private static String test3() { String test3 = ""; for (int i = 0; i < 4; i++) { test3 += "A"; } return test3; } }
3) 下記プログラムの実行結果をしめせ
public class RecTest { /** * @param args */ public static void main(final String... args) { final List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.add("ddd"); list.add("eeee"); final int result = rec(list); System.out.println(result); } /** * @param args * @return ok */ public static int rec(final List<String> args) { final String arg = args.get(args.size() - 1); System.out.println(arg); if (args.size() == 1) { return 2; } final List<String> subList = args.subList(0, args.size() - 1); final int result = rec(subList); return result * 2; } }