java - 用另一个类中产生的元素填充 Java 数组
问题描述
我正在尝试用我的“卡片”类中创建的卡片填充我的“卡片”类中的一副卡片。当我在 Deck 类中打印结果时,我得到 52 个“null”,这告诉我两者正在通信,只是不是很好。我已经复制了下面的代码。我哪里错了?谢谢!
public class Card {
public String cardName;
private int[] cardValue = {(Integer) null, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11};
private String[] cardSuit = {"C", "D", "H", "S"};
public Card(String cardName, int[] cardValue, String[] cardSuit) {
this.cardName = cardName;
this.cardValue = cardValue;
this.cardSuit = cardSuit;
}
public String makeCard(int[] cardValue, String[] cardSuit) {
for(int i = 0; i < 12; i++) {
for(int j = 0; j < 4; j++) {
cardName = cardValue[i] + cardSuit[j];
j++;
}
i++;
}
return cardName;
}
}
import java.util.Arrays;
public class Deck {
public static String[] cardDeck = new String[52];
public String[] makeDeck(String cardName) {
for(int i =0; i < 52; i++) {
cardDeck[i] = cardName;
i++;
}
Arrays.fill(cardDeck, cardName);
return cardDeck;
}
public static void main(String[] args) {
System.out.println(Arrays.toString(cardDeck));
}
}
解决方案
您创建了一个新的字符串数组,String[] cardDeck = new String[52];
但您从未为该数组分配任何值。String 是一个对象,初始化为 null。所以只会打印 null 。您永远不会调用任何类的任何方法,也不会初始化甲板和卡片。
推荐阅读
- python - 错误/警告 *** MULE MSG QUEUE 已满:缓冲区大小 212992 字节(您可以使用 --mule-msg-size 调整它)***
- rust - 如何在 rust 中为泛型结构指定泛型特征
- python-2.7 - Python V2 EOL 之后在 Pypi 上访问 Python V2 包
- php - 对于每个问题 Laravel Blade
- postgresql - 使用 Sqitch 迁移的数据库播种
- azure - Azure API 管理订阅的自定义 API 密钥
- c# - 如何读取 .TDAT 文件?
- macos - WxWidgets Build on OSX 10.15.4 错误(尝试不同的 SDK)
- javascript - 如何在 React 的主组件中的 onClick 事件中显示来自子组件的相应元素?
- nearprotocol - 近协议如何区分合约?