编译错误java.lang.nullpointerexception [复制]

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

这个问题在这里已有答案:

对不起,如果我问这个已被问过的问题,但我在编程方面是一个菜鸟,我试着研究如何修复这个bug,但我仍然无法解决它。我想在这里编译这段代码:

//Default constructor
public Game () {
    potAmount = 100;
    betAmount = 0;
}

public int getBetFromUser() {
    //Introduction to the game
    System.out.println("Welcome to Solitaire Dice Game..bet an amount\r\n" + 
            "\t-if you roll triples you win triple your bet,\r\n" + 
            "\t-if you roll doubles you win double your bet,\r\n" + 
            "\t-if you roll 10 or over, you keep your bet\r\n" + 
            "\t-otherwise you lose your bet\r\n" + 
            "A bet of 0 ends the game\r\n");
    System.out.println("Your current pot is 100");
    System.out.println("Enter your bet amount:");
    betAmount = keyboard.nextInt();

    return betAmount;

我试图在我的主类中调用它,但我得到这个编译错误:

输入您的下注金额:

在Assign3.main(Assign3.java:9)的Game.getBetFromUser(Game.java:26)中的线程“main”java.lang.NullPointerException中的异常

java class object methods
2个回答
2
投票

这不是编译错误,这是在运行时抛出的异常。你需要在调用keyboard之前初始化keybord.nextLine()变量


0
投票

可能你知道这件事。但对于其他人,我会重新进行迭代。编译时错误和运行时错误之间存在差异。当我们编译它时,java编译器做的是检查语法错误,如果没有语法错误,那么它将创建一个.class文件。如果有任何语法错误,那么代码将无法编译。而在运行时/执行错误中,是在程序执行期间发生的事件或情况,会破坏程序指令的正常流程。

© www.soinside.com 2019 - 2024. All rights reserved.