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人でじゃんけんをします。");
boolean retry = true;
do {
int myHand;
do {
println("グーなら0、チョキなら1、パーなら2を入力してください。");
String myHandStr
= readLine
(); myHand = -1;
try {
myHand
= Integer.
parseInt(myHandStr
); {}
} while (myHand < 0 || 3 <= myHand);
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+"の勝ちです。");
retry = false;
}
else {
println("残念ながら"+cpuName+"の勝ちです。");
retry = false;
}
} while (retry);
}
}
cHVibGljIGNsYXNzIE1haW4geyAKcHVibGljIHN0YXRpYyB2b2lkIHByaW50bG4oU3RyaW5nIHMpCnsKU3lzdGVtLm91dC5wcmludGxuKHMpOwp9CnB1YmxpYyBzdGF0aWMgamF2YS51dGlsLlNjYW5uZXIgbXlTY2FubmVyOwpzdGF0aWMgewpteVNjYW5uZXIgPSBuZXcgamF2YS51dGlsLlNjYW5uZXIoU3lzdGVtLmluKTsKfQpwdWJsaWMgc3RhdGljIFN0cmluZyByZWFkTGluZSgpCnsKcmV0dXJuIG15U2Nhbm5lci5uZXh0TGluZSgpOwp9CnB1YmxpYyBzdGF0aWMgU3RyaW5nIGhhbmRUb1N0cmluZyhpbnQgaGFuZCkKewpzd2l0Y2ggKGhhbmQpCnsKY2FzZSAwOiByZXR1cm4gIuOCsOODvCI7CmNhc2UgMTogcmV0dXJuICLjg4Hjg6fjgq0iOwpjYXNlIDI6IHJldHVybiAi44OR44O8IjsKfQpyZXR1cm4gIueEoeWKuSI7Cn0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICAKCQlwcmludGxuKCIy5Lq644Gn44GY44KD44KT44GR44KT44KS44GX44G+44GZ44CCIik7CgoJCVN0cmluZyBteU5hbWUgPSAi44GC44Gq44GfIjsKCQlTdHJpbmcgY3B1TmFtZSA9ICLjgrPjg7Pjg5Tjg6Xjg7zjgr8iOwoKCQlib29sZWFuIHJldHJ5ID0gdHJ1ZTsKCQlkbyB7CiAgICAgICAgICAgIGludCBteUhhbmQ7CiAgICAgICAgICAgIGRvIHsKICAgIAkJCXByaW50bG4oIuOCsOODvOOBquOCiTDjgIHjg4Hjg6fjgq3jgarjgokx44CB44OR44O844Gq44KJMuOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAgiIpOwoJCQkgICAgU3RyaW5nIG15SGFuZFN0ciA9IHJlYWRMaW5lKCk7CiAgICAgICAgICAgICAgICBteUhhbmQgPSAtMTsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAJCQkgICAgbXlIYW5kID0gSW50ZWdlci5wYXJzZUludChteUhhbmRTdHIpOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoamF2YS5sYW5nLk51bWJlckZvcm1hdEV4Y2VwdGlvbiBlKQogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgfSB3aGlsZSAobXlIYW5kIDwgMCB8fCAzIDw9IG15SGFuZCk7CgoJCQlpbnQgY3B1SGFuZCA9IG5ldyBqYXZhLnV0aWwuUmFuZG9tKCkubmV4dEludCgzKTsKCiAgICAgICAgICAgIHByaW50bG4obXlOYW1lKyLjga7miYvjga8iK2hhbmRUb1N0cmluZyhteUhhbmQpKyLjgafjgZnjgIIiKTsKCQkJcHJpbnRsbihjcHVOYW1lKyLjga7miYvjga8iK2hhbmRUb1N0cmluZyhjcHVIYW5kKSsi44Gn44GZ44CCIik7CgoJCQlpZiAobXlIYW5kID09IGNwdUhhbmQpCgkJCQlwcmludGxuKCLjgYLjgYTjgZPjgafjgZfjgZ/jgILjgoLjgYbkuIDluqbjgoTjgorjgb7jgZnjgIIiKTsKCgkJCWVsc2UgaWYgKChjcHVIYW5kIC0gbXlIYW5kICsgMykgJSAzID09IDEpIHsKCQkJCXByaW50bG4obXlOYW1lKyLjga7li53jgaHjgafjgZnjgIIiKTsKCQkJCXJldHJ5ID0gZmFsc2U7CgkJCX0KCQkJZWxzZSB7CgkJCQlwcmludGxuKCLmrovlv7XjgarjgYzjgokiK2NwdU5hbWUrIuOBruWLneOBoeOBp+OBmeOAgiIpOwoJCQkJcmV0cnkgPSBmYWxzZTsKCQkJfQoKCQl9IHdoaWxlIChyZXRyeSk7Cgl9Cn0K