Как исправить мою программу, ошибка происходит, int не может быть разыменована

Я перепробовал множество решений, и ни одно из них не сработало, мне нужна помощь

Это JCreator, эта программа генерирует случайное число в диапазоне от 1 до 100, которое будет играть ровно в 5 игр "Кто ближе?". Пользователь будет угадывать, а компьютер будет угадывать, что такое сгенерированное число.

если у пользователя есть угаданный номер ближе к сгенерированному номеру, он выигрывает игру.

иначе компьютер победит

import javax.swing.JOptionPane;

public class Main {
    public static void main(String args[]) {
        String userGuessAS;
        int userGuess, randomGenerated, computerGenerated;
        for (int j = 0; j <= 5; j++) {
            randomGenerated = (int) (Math.random() * 100 + 1);
            computerGenerated = (int) (Math.random() * 100 + 1);
            userGuessAS = JOptionPane.showInputDialog(null,
                    "User,please enter your guess(a value between 1 and 100");
            userGuess = Integer.parseInt(userGuessAS);
            if (isValidGuess(userGuess)) {
                JOptionPane.showMessageDialog(null,
                        "the generated number was " + randomGenerated + ",the computer number was "
                                + whoIsCloser + computerGenerated + " and the winner was the ",
                        "Game Result", JOptionPane.INFORMATION_MESSAGE);
            } else
                JOptionPane.showMessageDialog(null, "Invalid guess value entered-this game is void",
                        "Game Result", JOptionPane.INFORMATION_MESSAGE);
        }
        System.exit(0);
    }

    public static boolean isValidGuess(int userGuess) {
        if (userGuess.length >= 1 && userGuess.length <= 3 && userGuess.isDigit) {
            return true;
        } else if (userGuess.charAt(0) || userGuess.charAt(1) || userGuess.charAt(2))
            return false;
    }

    public static String whoIsCloser(int computerGenerated, int randomGenerated, int userGuess) {
        int answer, answer2;
        answer = computerGenerated - randomGenerated;
        answer2 = userGuess - randomGenerated;
        if (answer < 0 && answer2 < 0) {
            answer = answer * -1;
            answer2 = answer2 * -1;
        } else if (computerGenerated >= userGuess) {
            return computer;
        } else if (userGuess >= computerGenerated) {
            return user;
        }
    }
}

0 ответов

Другие вопросы по тегам