juego de adivinanzas 0-100 java

Robert Nelson:

Tengo un código que necesitará conjunto de 0-100 y tienen que existir la posibilidad de tener cero ser la respuesta correcta. He puesto mis enteros finales a MAX (100) / MIN (0). Pero 0 nunca es la respuesta correcta. Soy 4 años en la codificación con 2 años de experiencia en Java, pero parece que cualquier problema 1-100 o cualquier otro 1- MAX está muy bien. Por favor ayuda, o explicar si es 0 no es una selección permitido.

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

public class GuessingGame {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        Random generator = new Random();

        int MIN = 0;
        int MAX = 100;
        int answer;
        int guess;
        String another = "y";
        boolean flag = false;
        boolean anotherFlag = true;

        while(anotherFlag){
            answer = generator.nextInt(MAX) + 1;

            System.out.println("I'm thinkin of a number between 0 and " + MAX );
            System.out.println("Can you guess what it is? \n");
            flag = false;
            while(!flag) {
                guess = scan.nextInt();

                if(guess == answer){
                    System.out.println("You guessed correctly");
                    flag = true;

                } else{
                    System.out.println("That was wrong, try again.");
                }
            }

            System.out.println("Want to Play again?(y/n)");
            another = scan.next();

            if(another.equalsIgnoreCase("y") == true){
                anotherFlag = true;
            } else{
                anotherFlag = false;
            }
        }

Gracias por tu ayuda.

Trivedin:

Parece que el problema es con

    answer = generator.nextInt(MAX) + 1;

Su rango de respuesta es 1 - MAX.

Si desea generar un número aleatorio entre 0 - MAX, MAX, donde = 100. Se debe escribir-

    answer = generator.nextInt(MAX+1);

Porque según API de Java (Java v8),

    public int nextInt(int bound)

devuelve un pseudoaleatorio, valor int uniformemente distribuida entre 0 (inclusive) y el valor especificado (exclusivo)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=211448&siteId=1
Recomendado
Clasificación