CodinGame Javaの言語も検定受けてみようかなと作成してみました。
型変換がまあ大変。そのあたりが過渡期の言語で迷走している感じがします。
テスト前に例題を解いてみます。
45分のテスト開始
Java実務経験10年ぐらいはありますが、Clash Of CodeのJavaとはかなり別物です。
例によって、一問目で挫折しそうになりますが、最後にまわして、なんとか全部解けました。
gooブログの都合で平べったい版
import java.util.*;import java.lang.Math.*;
class Solution {
publicstaticvoidePrint(Strings){System.err.println(s);}//System.err.println("Debug");
publicstaticvoidePrint(Integeri){System.err.println(Integer.toString(i));}
publicstaticList toList(String[] ss){ //String[] -> List
List ret = newArrayList();for (inti=0;i<ss.length;i++){ret.add(ss[i]);}return ret;}
publicstaticvoidmain(Stringargs[]) {
ePrint("grape".toUpperCase()); //string upper GRAPE
ePrint("Orange".toLowerCase()); //string lower orange
Integeri = 1;
ePrint(i.toString()+"bb"); //Integer -> String intからはIntegerに変換必要
ePrint(Integer.parseInt("01111111", 2)); //2 -> 10
ePrint(Integer.parseInt("01111111", 16)); //16 -> 10
ePrint(Integer.toBinaryString(100)); //10 -> 2進数
ePrint(Integer.toHexString(100)); //16 -> 10進数
String[] list1 = "1 2 3 abcde".split(" "); //list split Javaだと配列とリストは違うだと ウソだろ
ePrint(list1[1]); //array n
ePrint(list1[3].substring(1,list1[3].length()-1)); //length substring
List list2 = newArrayList(); //list 定義
List list3 = newArrayList();
list2.add("one"); //list add
list3.add("two");list3.add("three");
list2.addAll(list3); //list + list
ePrint(list2.size()); //list 数
Collections.sort(list2); //list sort
for (Stringstr: list2){ePrint(str);} //list loop
ePrint(list3.get(0)); //list n
Strings = "012345a".replace("a","6"); //String replace
ePrint(s.indexOf("6")); //String find
ePrint(String.valueOf((char)97)); //to ascii -> char -> String
ePrint((int)'a'); //char -> int(ascii code)
ePrint((int)"123".charAt(0)); //String n -> int(ascii code)
if ("123" == "123"){ePrint("match");} //String ==
if ("123".charAt(0) == '1'){ePrint("match");} //Char ==
Integerj = -5;
ePrint(Math.abs(j)); //abs
list3 = toList("1 2 3 hooo".split(" ")); //split -> list
ePrint(list3.get(3));
}
}