0

みんなの楽しいゲーム「じゃんけん」を作っているので、停止する前にwhileループを3回繰り返すことを除いて、すべてが機能しました。3 回繰り返して停止しますが、2 回目と 3 回目の繰り返しでは変数は変化しません。コードを見て、私が間違っていることを教えてください。**更新: すべてが機能するようになったので、この「Q」文字列を取得してループを終了するにはどうすればよいですか?

import java.util.Scanner;
import java.util.Random;

public class RockPaperScissors
{

    /**
     * (Insert a brief description that describes the purpose of this method)
     * 
     * @param args
     */
    public static void main(String[] args)
    {
        int compint;
        String usermove = "";
        String compmove = "";
        String winner = "";
        int count = 0;


        Scanner in = new Scanner(System.in);
        Random gen = new Random();

        System.out.println("Enter Rock(1), Paper(2), Scissors(3) {Q to quit]: ");
        int input = in.nextInt();       

        while (count < 3)
        {
            compint = gen.nextInt(3) + 1;

            if (input == 1)
            {
                usermove = "Rock";
            }
            else if (input == 2)
            {
                usermove = "Paper";
            }
            else if (input == 3)
            {
                usermove = "Scissors";
            }

            if (compint == 1)
            {
                compmove = "Rock";
            }
            else if (compint == 2)
            {
                compmove = "Paper";
            }
            else if (compint == 3)
            {
                compmove = "Scissors";
            }

            if (compint == input)
            {
                winner = "TIE";
            }
            else if (compint == 1 && input == 3)
            {
                winner = "COMPUTER";
            }
            else if (compint == 2 && input == 1)
            {
                winner = "COMPUTER";
            }
            else if (compint == 3 && input == 2)
            {
                winner = "COMPUTER";
            }
            else
            {
                winner = "USER";
            }

            System.out.print("Computer: " + compmove + " | ");
            System.out.print("You: " + usermove + " | ");
            System.out.println("Winner: " + winner);
            System.out.println();
            System.out.println("Enter Rock(1), Paper(2), Scissors(3) {Q to quit]: ");
            input = in.nextInt();
            count++;

        }
    }
}

出力:

Enter Rock(1), Paper(2), Scissors(3) {Q to quit]: 
1
Computer: Scissors | You: Rock | Winner: USER

Enter Rock(1), Paper(2), Scissors(3) {Q to quit]: 
2
Computer: Rock | You: Paper | Winner: USER

Enter Rock(1), Paper(2), Scissors(3) {Q to quit]: 
Q
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Unknown Source)
    at java.util.Scanner.next(Unknown Source)
    at java.util.Scanner.nextInt(Unknown Source)
    at java.util.Scanner.nextInt(Unknown Source)
    at RockPaperScissors.main(RockPaperScissors.java:102)
4

3 に答える 3