[英]Not properly filling array Java
运行下一个代码时,我收到错误“ 线程中的异常”主“java.lang.NullPointerException ”
我认为它与deck的填充有关[i2]我尝试做的是每次运行for循环时添加一个值。
谁能告诉我出了什么问题?
public class Deck {
private Cards cards;
private String[] suits;
private String[] ranks;
private String[] deck;
private int i2;
public void Deck() {
//Instantiate class Cards
cards = new Cards();
//run method to get cards / suits
suits = cards.getSuits();
ranks = cards.getRanks();
//Build an array (deck) and fill it with all possible cards
i2 = 1;
for (int i = 0; i < suits.length; i++) {
//Run through ranks
for (int i1 = 0; i1 < ranks.length; i1++) {
deck[i2] = suits[i] + ranks[i1];
2++;
}
}
}
}
deck
字段尚未初始化,因此访问它会抛出NullPointerException
。 在构建它之前,初始化deck
:
deck = new String[sizeOfDeck];
其中sizeOfDeck
是一个表示套牌大小的int
。
你初始化了deck
阵列了吗? 在外部for
循环之前必须有这样的语句:
deck = new String[ranks.length * suits.length];
此外,一定要初始化suits
和ranks
在阵列Cards
类以类似的方式。
你从来没有初始化'套牌'。 应该是这样的:
deck = new String[ranks.length * suits.length];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.