运行java文件时没有这样的方法错误

问题描述 投票:0回答:1

我已经从 python 转向 java,所以仍在习惯 OOP。我尝试制作一个可以生成 2 个随机数的游戏,用户必须将它们加在一起。

但是,当我运行游戏时,我收到意外的错误代码:

线程“main”中的异常 java.lang.NoSuchMethodError: 'void 游戏.playGame()' 在additionGame.main(additionGame.java:8)

我在下面添加了我的代码:

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

public class AdditionGame {
    public static void main(String[] args){

        Game gameObject = new Game();
        gameObject.playGame();

    }
}

class Game {
    int score = 0;

    public int generateNumber(){
        int number;
        Random random = new Random();
        number = random.nextInt(20)+1;
        return number;
    }

    public void playGame(){
        int i = 0;
        while (i<10){
            int number1;
            int number2;
            int answer;
            String userAnswerSTR;
            int userAnswer;

            i++;

            number1 = generateNumber();
            number2 = generateNumber();

            answer = number1 + number2;

            System.out.println("What is " + number1 + "+" + number2 + " :");
            Scanner scannerObject = new Scanner(System.in);
            userAnswerSTR = scannerObject.nextLine();
            scannerObject.close();

            userAnswer = Integer.parseInt(userAnswerSTR);

            if (userAnswer == answer){
                System.out.println("Correct Answer!");
                score ++;
            }

            else {
                System.out.println("Incorrect! The answer was: " + answer);
            }

        }
    System.out.println("Congratulations! Your score was: " + score);
    }

}

我预计游戏会运行 10 轮然后打印用户得分

java methods nosuchmethoderror
1个回答
0
投票

这是您可以尝试的方法:

我预计游戏会运行 10 轮然后打印用户得分

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

public class AdditionGame {
    public static void main(String[] args) {
        Game game = new Game();
        game.playGame();
    }
}

class Game {
    int score = 0;

    public int generateNumber() {
        Random random = new Random();
        return random.nextInt(20) + 1;
    }

    public void playGame() {
        Scanner scanner = new Scanner(System.in);

        for (int i = 0; i < 10; i++) {
            int number1 = generateNumber();
            int number2 = generateNumber();
            int answer = number1 + number2;

            System.out.print("What is " + number1 + " + " + number2 + " : ");
            int userAnswer = scanner.nextInt();

            if (userAnswer == answer) {
                System.out.println("Correct Answer!");
                score++;
            } else {
                System.out.println("Incorrect! The answer was: " + answer);
            }
        }

        System.out.println("Congratulations! Your score was: " + score);

        scanner.close();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.