Java 为什么不是';我的循环是否按我的要求工作?

Java 为什么不是';我的循环是否按我的要求工作?,java,for-loop,Java,For Loop,我试图使循环终止后,无论是计算机或玩家赢得5场比赛。我试着用for循环来实现这一点,但它一点也没有停止。我试着调试并找出它,但我迷路了。 你能帮我找出哪里出了错吗?任何提高代码效率的建议都将不胜感激 import java.util.Scanner; import java.util.Random; public class RockPaperScissor { public static void main (String [] args){ System.out.prin

我试图使循环终止后,无论是计算机或玩家赢得5场比赛。我试着用for循环来实现这一点,但它一点也没有停止。我试着调试并找出它,但我迷路了。 你能帮我找出哪里出了错吗?任何提高代码效率的建议都将不胜感激

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

public class RockPaperScissor {
    public static void main (String [] args){
    System.out.println("Lets play Rock, Paper, Scissors!");
    Scanner scanner = new Scanner(System.in);

    int computerwins=0;
    int playerwins=0;


     Random random = new Random();
        for (int totalGame = 0; playerwins<=5 || computerwins<=5; ++totalGame){

            int gamenumber = totalGame + 1;
            System.out.print("Game " + gamenumber + ".  " + "Pick one! 1 = Rock, 2 = Paper, 3 = Scissor :   ");
            int input = scanner.nextInt();

            Random rand = new Random(); 
            int computerResponse = rand.nextInt(3) + 1;
            String compResponse = "something";
            switch (computerResponse) {
                case 1: compResponse = "Rock";
                    break;  
                case 2: compResponse = "Paper";
                    break;
                case 3: compResponse = "Scissor";
                    break;  }
            String you = "something";
            switch (input) {
                case 1: you = "Rock";
                    break;  
                case 2: you = "Paper";
                    break;
                case 3: you = "Scissor";
                    break;
            }
            System.out.println("You: " + you + ", Computer: " + compResponse);

            if(input == computerResponse) {
                System.out.println("It's a tie!");  }
            else if (input == 1) {
                if (computerResponse == 2) {
                    System.out.println("Paper eats rock. You lose!");
                    ++computerwins; }
                else if (computerResponse == 3) {
                    System.out.println("Rock crushes scissors. You win!");
                    ++playerwins; } }
            else if (input == 2) {
                if (computerResponse == 1) {
                    System.out.println("Paper eats rock. You win!"); 
                    ++playerwins; }
                else if (computerResponse == 3) {
                    System.out.println("Scissor cuts paper. You lose!"); 
                    ++computerwins; }  }
            else if (input ==3) {
                if (computerResponse == 1) {
                    System.out.println("Rock crushes scissors. You lose!"); 
                    ++computerwins; }
                else if (computerResponse == 2) {
                    System.out.println("Scissor cuts paper. You win!"); 
                    ++playerwins; }  }

            System.out.println("Score Now: You = " + playerwins + ", Computer = " + computerwins );
            System.out.println("   "); }
        if (playerwins == computerwins) {
            System.out.println("Aww! It's a tie."); }
        if (playerwins < computerwins) {
            System.out.println("Aww! You lost!"); }
        if (playerwins > computerwins) {
            System.out.println("Yay! You won!");} 
        }   }
import java.util.Scanner;
导入java.util.Random;
公共级剪纸机{
公共静态void main(字符串[]args){
System.out.println(“让我们玩石头、布、剪刀吧!”);
扫描仪=新的扫描仪(System.in);
int=0;
int playerwins=0;
随机=新随机();

for(int totalGame=0;playerwins在for循环终止条件下

playerwins<=5 || computerwins<=5

玩家如果你想要
&&
而不是你的循环状态中的
|
。否则它将一直持续,直到两个玩家都赢了6场。另外,我认为你想要
你的状态
playerwins@DavidWallace你知道一个重复的问题吗?因为这类问题经常出现,所以最好把他们当作傻瓜关起来,而不是一遍又一遍地回答。