игра в догадки 0-100 Java - PullRequest
       11

игра в догадки 0-100 Java

0 голосов
/ 28 января 2019

У меня есть код, который мне нужно установить в диапазоне от 0 до 100, и я должен иметь возможность иметь ноль, чтобы быть правильным ответом.Я установил свои последние значения для MAX (100) / MIN (0).Но 0 никогда не является правильным ответом.Я 4 года в программировании с 2-летним опытом работы на Java, но кажется, что любая проблема 1-100 или 1 - любой другой MAX - это хорошо.Пожалуйста, помогите или объясните, если 0 не разрешен выбор.

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;
            }
        }

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 28 января 2019

Похоже, проблема в

    answer = generator.nextInt(MAX) + 1;

Ваш диапазон ответов 1 - MAX.

, если вы хотите сгенерировать случайное число в диапазоне от 0 до MAX, где MAX = 100Вы должны написать-

    answer = generator.nextInt(MAX+1);

Поскольку согласно Java API (java v8),

    public int nextInt(int bound)

возвращает псевдослучайное, равномерно распределенное значение типа int между 0 (включительно) и указанным значением(эксклюзив)

...