java - 空异常 我增加一个变量?

标签 java

每次我增加以下内容以更新由我的方法创建的内容时,我都会收到 Exception in thread "main"java.lang.NullPointerException 错误。我不知道是什么原因造成的,也许是“do”循环?我已尽我所能,并不打算导入任何包

userCardsCount = 2;
boolean trueScore = userSum <= 21;

do{    
    displayCards(true);

    // User turn
    int i = 2;

    System.out.println("\nUSER'S TURN");
    System.out.print("Draw new card (Y/N): ");
    input = br.readLine();

    if(input.equals("y") || input.equals("Y") || input.equals("yes") || input.equals("YES")) {
        userCardsCount++;
        userCards[i] = deck.drawCard();
        userSum += userCards[i].value;


        System.out.print("\n--> User drew a " + "[" + userCards[i].value + "]\n");
        //i++;
    } else if(input.equals("n") || input.equals("N") || input.equals("no") || input.equals("NO")) {
         // You stay as you are and go to the computer's turn
         System.out.println("--> User stays.");   
    } 
    else {
        System.out.println("\t--> Umm please retry input");
    }
} while(trueScore);

方法

public static void displayCards(boolean showHidden)
{
    if(showHidden) {
        System.out.print("Computer's cards: [" + computerCards[0].name + "]");
    } else {
        System.out.print("Computer's cards: [X]");
    }
    for(int i = 1; i < computerCardsCount; i++) {
        System.out.print("[" + computerCards[i].name + "]");
    }
    if(showHidden) {
        System.out.print(" (sum: " + computerSum + ")");
    }

    System.out.print("\nUser's cards: ");
    for(int i = 0; i < userCardsCount; i++) {
        System.out.print("[" + userCards[i].name + "]");
    }
    System.out.print(" (sum: " + userSum + ")");

    System.out.print("\n");
}

有什么建议吗?

最佳答案

您应该查看您的数组:computerCards。您似乎始终以 true 输入该方法,因此您将始终调用 ComputerCards[0].name ,该名称可能为空。您应该在该方法的开头放置一个断点,然后调试以查看第 0 个位置是否有值。

关于java - 空异常 我增加一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34274151/

相关文章:

java - 处理多次按键而忽略重复的键

java - 无法抛出 IllegalArgumentException

java - Apache 点燃: Classloader

java - 使用 opencmis 从 alfresco 下载文档

java - Spring Batch 提交间隔不起作用并且工作行为很奇怪

java - 通过 java URLConnection 登录 facebook

java - Android ListView 在小屏幕设备上选择的第一个和最后一个项目

java - Android APP 在 getWritableDatabase() 或 getReadableDatabase() 上崩溃

Java - Hibernate 可以在 persistence.xml 中的两个数据库配置之间进行选择吗?

java - 如何在eclipse的编辑器中设置编程语言?