ユーザーに選択肢を入力させ、コンピューターの選択に対してテストする紙じゃんけんプログラムを作成する必要があります。各ゲームの後、続行するかどうかをプレーヤーに尋ね、続行または終了するには「Y」または「N」を入力する必要があります。私が考えることができる最高のものは while ループであり、最後のビットを除いてすべてが正常に機能します。
import java.util.Scanner;
public class rockpaperscissors {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
char cont = 'y';
while (cont == 'y'){
int com = (int)(Math.random() * 3);
System.out.println("Paper (0), Rock (1), or Scizzors (2)?");
int hum = input.nextInt();
if (com==(hum))
System.out.println("It's a tie!");
else if (hum == 0)
{
if (com == 1)
System.out.println ("You chose paper, computer chose rock You Win!");
else if (com == 2)
System.out.println ("You chose paper, Computer chose scissors You Lose!");
}
else if (hum == 1)
{
if (com == 2)
System.out.println ("You chose Rock, computer chose scissors You Win!");
else if (com == 0)
System.out.println ("You chose Rock, Computer chose paper You Lose!");
}
else if (hum == 2)
{
if (com == 0)
System.out.println ("You chose Scissors, computer chose paper You Win!");
else if (com == 1)
System.out.println ("You chose Scissors, Computer chose rock You Lose!");
}
System.out.println("Would you like to continue? (Y/N)");
cont = input.nextLine().charAt(0);
}
}
}
実行すると、ループが正常に実行され、ゲームがプレイされますが、「string out of index range」エラーが発生します。これを解決する方法はありますか?