while 循环跳过我的 if/else 语句

时间:2021-02-16 18:58:28

标签: java if-statement while-loop

我有一个石头剪刀布游戏的 while 循环,我有 if/else if 语句告诉你哪个玩家赢了,但是 while 循环跳过它并直接进入循环的末尾,它询问你是否想玩另一个游戏。我如何才能改变这种情况?

Scanner scan = new Scanner(System.in); 
        String play = ""; 
        System.out.print("Please enter Play if you want to play the game or anything else to Stop");
        play = scan.nextLine(); 
        
        while (play.equalsIgnoreCase("play")) { 
        System.out.println("Game " + gameCount + " Rock, Paper, Scissors - Play!");
        System.out.print("Choose your weapon [R]ock, [P]aper, or [S]cissors: ");
        String rps = scan.nextLine();
        while (rps.equals('R') || rps.equals('P') || rps.equals('S')) {
            System.out.println("You chose: " + rps);
            
        }
        
        int rand = (int)(Math.random() * 3);
        String myMove = "";
        if(rand == 0) {
            myMove = "Rock";
        }
        else if(rand == 1) {
            myMove = "Paper";
        }
        else {
            myMove = "Scissors";
        }
        System.out.println("I chose: " + myMove);
        
        
        if(rps.equals(myMove)) {
            System.out.println("Tie!");
            tieCount++;
        }
        else if(rps.equals('P') && myMove.equals("Scissors")) {
            System.out.println("Scissors beats paper, a win for me!");
            myCount++;
        }
        else if(rps.equals('S') && myMove.equals("Rock")) {
            System.out.println("Rock beats scissors, a win for me!");
            myCount++;
        }
        else if(rps.equals('R') && myMove.equals("Paper")) {
            System.out.println("Paper beats rock, a win for me!");
            myCount++;
        }
        else if(rps.equals('S') && myMove.equals("Paper")) {
            System.out.println("Scissors beats paper, a win for you!");
            userCount++;
        }
        else if(rps.equals('R') && myMove.equals("Scissors")) {
            System.out.println("Rock beats scissors, a win for you!");
            userCount++;
        }
        else if(rps.equals('S') && myMove.equals("Paper")) {
            System.out.println("Paper beats rock, a win for you!");
            userCount++;
        }
        gameCount++;
        System.out.println("Please enter Play if you want to play the game again or anything else to Stop.");
        play = scan.nextLine();
        
        }   
'''

1 个答案:

答案 0 :(得分:0)

试试这个

while (true) {
            System.out.println("Insert question code:");
            String question = scanner.nextLine();
            if(question.equals("quit")){
                break;
            }
            System.out.println("Insert answer code:");
            String answer = scanner.nextLine();
            if(answer.equals("quit")){
                break;
            }
           
        }
相关问题