答案错误时如何使 int 计数器下降

How to make int counter go down when answer is wrong

我正在让玩家 2 猜玩家 1 的数字游戏。我做了一个 int 计数器,它 == 10 并且每次玩家 2 回答错误时都会下降。我无法让它工作,我需要关于如何做到这一点的帮助。你会明白我的意思...

package guessMain;

import java.awt.*;

import java.util.Scanner;

public class GuessCodeSource {
    public static void main(String[] args){
        System.out.println("WELCOME TO GUESSING GAME BY JOSH!");
        System.out.println("Rules: Player 1 picks number between 1 - 100 while Player 2 has 10 tries to guess");
        Scanner josh = new Scanner(System.in);
        System.out.println("Enter name here PLAYER 1: ");
         String p1 = josh.nextLine();
         System.out.println("Enter name here PLAYER 2: ");
         String p2 = josh.nextLine();
         System.out.println("Ok, " +  p2 + " look away. " +  p1 + ", Please enter a number and press enter:");
            int answer = josh.nextInt();
            if (answer >= 100){
                System.out.println("BUSTED! I said a number between 1 - 100!");

            }else if (answer <= 100){       
                System.out.println("Guess in the space below.");
                int guess = josh.nextInt();
                if (guess == answer){
                System.out.println("CORRECT!!!!!");

                }else if (guess != answer);
                     for (int counter = 10; counter-=1);
                    System.out.println("You have " + count + " of guesses left");


            }
    }
}

要将数字减一,请使用递减运算符。

例如,

counter--;

将从计数器中减一。

如果要减去多个,可以按以下方式使用“-=”运算符:

counter -= 2;

因此,在您的代码中,在最后的 else if 块中,您可以将代码更改为以下代码以将 "counter" 减少 1。

else if (guess != answer) {
    counter--;
    System.out.println("You have " + count + " of guesses left");
}

但是,在您的代码中,您从未声明变量计数器。在某个地方,很可能是在代码的顶部,您想创建这个变量。要创建整数变量,请执行以下操作:

int counter = 10;

你也问了如何循环,所以在这里。阅读注释以了解代码的作用。如果您有更多问题,请在下方提问。

public static void main(String[] args) {

    System.out.println("WELCOME TO GUESSING GAME BY JOSH!");
    System.out.println("Rules: Player 1 picks number between 1 - 100 while Player 2 has 10 tries to guess");

    Scanner josh = new Scanner(System.in);

    int guess = 0; // Create these variables up here to access them everywhere in "main"
    int counter = 0;

    boolean continueTheGame = true; // A boolean variable that holds ONLY either true or false

    System.out.println("Enter name here PLAYER 1: ");

    String p1 = josh.nextLine();

    System.out.println("Enter name here PLAYER 2: ");
    String p2 = josh.nextLine();

    System.out.println("Ok, " +  p2 + " look away. " +  p1 + ", Please enter a number and press enter:");

    int answer = josh.nextInt();

    // A while loop will continue as long as a boolean expression is true.
    // So, we create a boolean variable somewhere above called "continueTheGame"
    // As long as this is true, the code INSIDE of the while loop's brackets will repeat.

    // If the user has less than zero guesses left, we can set the variable to false,
    // which will make the loop stop!

    while (continueTheGame == true) { // The start of the while loop

        if (answer >= 100) {

            System.out.println("BUSTED! I said a number between 1 - 100!");

        } else if (answer <= 100) { 

            System.out.println("Guess in the space below.");
            guess = josh.nextInt();

        }

        if (guess == answer) {
            System.out.println("CORRECT!!!!!");
        } else if (guess != answer) {
            counter--;
            System.out.println("You have " + counter + " of guesses left");

            if (counter > 0) { // If they have MORE than zero guesses left, loop again!
                continueTheGame = true;
            } else { // If they have zero guesses left, make it stop looping
                continueTheGame = false;
            }
        }

    }

    // Once the loop ends, the code will start again here,
    // because the bracket above is the final bracket of the WHILE loop

}

好的,这是您正在寻找的功能齐全的主要方法:

public static void main(String[] args){
            System.out.println("WELCOME TO GUESSING GAME BY JOSH!");
            System.out.println("Rules: Player 1 picks number between 1 - 100 while Player 2 has 10 tries to guess");
            Scanner josh = new Scanner(System.in);
            System.out.println("Enter name here PLAYER 1: ");
             String p1 = josh.nextLine();
             System.out.println("Enter name here PLAYER 2: ");
             String p2 = josh.nextLine();
             System.out.println("Ok, " +  p2 + " look away. " +  p1 + ", Please enter a number and press enter:");
                int answer = josh.nextInt();
                if (answer >= 100){
                    System.out.println("BUSTED! I said a number between 1 - 100!");

                }else {       
                    System.out.println("Guess in the space below.");

                    }
                      for (int count = 10; count>=0; count--) {
                          int guess = josh.nextInt();
                          if (guess == answer){
                              System.out.println("CORRECT!!!!!");
                              System.exit(0);
                          } else {
                        System.out.println("You have " + count + " of guesses left");
                        if (count == 0) {
                            System.out.println("Sorry, you lost, no more tries..");
                            System.exit(0);
                        } 

                      }

                    }


          josh.close();      
        }