You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Java加法游戏时出现java.lang.NoSuchMethodError问题求助

问题分析与修复方案

一、解决NoSuchMethodError异常

这个异常通常是编译产物与当前代码不匹配导致的,按以下步骤处理:

  • 删除项目目录下所有.class后缀的文件,清理旧编译结果
  • 重新编译代码:执行命令 javac AdditionGame.java
  • 运行程序:执行命令 java AdditionGame
  • 额外检查:主类名为AdditionGame,对应的文件名必须是AdditionGame.java,否则编译会出现类找不到的问题

二、修复代码中的运行时bug

你的代码在运行时还会遇到输入读取失败的问题——每次循环创建Scanner并关闭,会连带关闭System.in,导致后续无法读取输入。另外可以优化随机数生成逻辑,避免重复创建Random实例。

修复后的完整代码:

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;
    private final Random random = new Random(); // 复用Random实例

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

    public void playGame(){
        Scanner scannerObject = new Scanner(System.in); // Scanner移到循环外
        int i = 0;
        while (i < 10){
            int number1 = generateNumber();
            int number2 = generateNumber();
            int answer = number1 + number2;
            int userAnswer;

            i++;

            System.out.println("What is " + number1 + "+" + number2 + " :");
            String userAnswerSTR = scannerObject.nextLine();

            try {
                userAnswer = Integer.parseInt(userAnswerSTR);
                if (userAnswer == answer){
                    System.out.println("Correct Answer!");
                    score++;
                } else {
                    System.out.println("Incorrect! The answer was: " + answer);
                }
            } catch (NumberFormatException e) {
                System.out.println("请输入有效的整数!本轮不计分");
            }
        }
        scannerObject.close(); // 循环结束后统一关闭
        System.out.println("Congratulations! Your score was: " + score);
    }
}

额外优化:增加了NumberFormatException捕获逻辑,处理用户输入非整数的情况,避免程序直接崩溃。

内容的提问来源于stack exchange,提问作者dawsUTV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:21:26