public class Main {
public static void println
(String s
) {
}
public static java.util.Scanner myScanner;
static {
myScanner
= new java.
util.
Scanner(System.
in);}
public static String readLine
() {
return myScanner.nextLine();
}
public static String handToString
(int hand
) {
switch (hand)
{
case 0: return "グー";
case 1: return "チョキ";
case 2: return "パー";
}
return "無効";
}
public static void main
(String[] args
) {
println("2人でじゃんけんをします。");
println("あなたの名前を入力してください。");
println("CPUに名前を付けてください。");
boolean winner = false;
while (winner == false) {
println("グーなら0、チョキなら1、パーなら2を入力してください。");
String myHandStr
= readLine
();
if (myHandStr.matches("[0-2]") == false) {
println("指定された整数値を入力してください。終了します。");
}
int myHand
= Integer.
parseInt(myHandStr
);
int cpuHand
= new java.
util.
Random().
nextInt(3);
println(myName+"の手は"+handToString(myHand)+"です。");
println(cpuName+"の手は"+handToString(cpuHand)+"です。");
if (myHand == cpuHand)
println("あいこでした。もう一度やります。");
else if ((cpuHand - myHand + 3) % 3 == 1) {
println(myName+"の勝ちです。");
winner = true;
}
else {
println("残念ながら"+cpuName+"の勝ちです。");
winner = true;
}
}
}
}
cHVibGljIGNsYXNzIE1haW4geyAKcHVibGljIHN0YXRpYyB2b2lkIHByaW50bG4oU3RyaW5nIHMpCnsKU3lzdGVtLm91dC5wcmludGxuKHMpOwp9CnB1YmxpYyBzdGF0aWMgamF2YS51dGlsLlNjYW5uZXIgbXlTY2FubmVyOwpzdGF0aWMgewpteVNjYW5uZXIgPSBuZXcgamF2YS51dGlsLlNjYW5uZXIoU3lzdGVtLmluKTsKfQpwdWJsaWMgc3RhdGljIFN0cmluZyByZWFkTGluZSgpCnsKcmV0dXJuIG15U2Nhbm5lci5uZXh0TGluZSgpOwp9CnB1YmxpYyBzdGF0aWMgU3RyaW5nIGhhbmRUb1N0cmluZyhpbnQgaGFuZCkKewpzd2l0Y2ggKGhhbmQpCnsKY2FzZSAwOiByZXR1cm4gIuOCsOODvCI7CmNhc2UgMTogcmV0dXJuICLjg4Hjg6fjgq0iOwpjYXNlIDI6IHJldHVybiAi44OR44O8IjsKfQpyZXR1cm4gIueEoeWKuSI7Cn0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICAKCQlwcmludGxuKCIy5Lq644Gn44GY44KD44KT44GR44KT44KS44GX44G+44GZ44CCIik7CgkJcHJpbnRsbigi44GC44Gq44Gf44Gu5ZCN5YmN44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCIik7CgkJU3RyaW5nIG15TmFtZSA9IHJlYWRMaW5lKCk7CgkJcHJpbnRsbigiQ1BV44Gr5ZCN5YmN44KS5LuY44GR44Gm44GP44Gg44GV44GE44CCIik7CgkJU3RyaW5nIGNwdU5hbWUgPSByZWFkTGluZSgpOwoKCQlib29sZWFuIHdpbm5lciA9IGZhbHNlOwoJCXdoaWxlICh3aW5uZXIgPT0gZmFsc2UpIHsKCQkJcHJpbnRsbigi44Kw44O844Gq44KJMOOAgeODgeODp+OCreOBquOCiTHjgIHjg5Hjg7zjgarjgoky44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCIik7CgoJCQlTdHJpbmcgbXlIYW5kU3RyID0gcmVhZExpbmUoKTsKCgkJCWlmIChteUhhbmRTdHIubWF0Y2hlcygiWzAtMl0iKSA9PSBmYWxzZSkgewoJCQkJcHJpbnRsbigi5oyH5a6a44GV44KM44Gf5pW05pWw5YCk44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CC57WC5LqG44GX44G+44GZ44CCIik7CgkJCQlTeXN0ZW0uZXhpdCgxKTsKCQkJfQoKCQkJaW50IG15SGFuZCA9IEludGVnZXIucGFyc2VJbnQobXlIYW5kU3RyKTsKCgkJCWludCBjcHVIYW5kID0gbmV3IGphdmEudXRpbC5SYW5kb20oKS5uZXh0SW50KDMpOwoKICAgICAgICAgICAgcHJpbnRsbihteU5hbWUrIuOBruaJi+OBryIraGFuZFRvU3RyaW5nKG15SGFuZCkrIuOBp+OBmeOAgiIpOwoJCQlwcmludGxuKGNwdU5hbWUrIuOBruaJi+OBryIraGFuZFRvU3RyaW5nKGNwdUhhbmQpKyLjgafjgZnjgIIiKTsKCgkJCWlmIChteUhhbmQgPT0gY3B1SGFuZCkKCQkJCXByaW50bG4oIuOBguOBhOOBk+OBp+OBl+OBn+OAguOCguOBhuS4gOW6puOChOOCiuOBvuOBmeOAgiIpOwoKCQkJZWxzZSBpZiAoKGNwdUhhbmQgLSBteUhhbmQgKyAzKSAlIDMgPT0gMSkgewoJCQkJcHJpbnRsbihteU5hbWUrIuOBruWLneOBoeOBp+OBmeOAgiIpOwoJCQkJd2lubmVyID0gdHJ1ZTsKCQkJfQoJCQllbHNlIHsKCQkJCXByaW50bG4oIuaui+W/teOBquOBjOOCiSIrY3B1TmFtZSsi44Gu5Yud44Gh44Gn44GZ44CCIik7CgkJCQl3aW5uZXIgPSB0cnVlOwoJCQl9CgoJCX0KCX0KfQo=