3 回答

TA貢獻1824條經驗 獲得超6個贊
我知道在這里使用 ArrayList 更好,因為我只需 .remove(i, elem) 即可。但我不知道如何將 ArrayList 傳遞到構造函數中。
public Dice (String n, List<String> sideList){
name = n;
side = sideList.toArray(new String[sideList.size()]);
}
另外,您沒有對下面的數組執行任何操作。
Dice [] currentCup = new Dice[a.length];
我強烈鼓勵您自己試運行代碼??磥砟拇a沒有做您真正要做的事情。:)

TA貢獻1862條經驗 獲得超7個贊
在cup
方法中,返回值currentCup
從未被分配,因此它只是 的“序列” null
。您需要單獨初始化其成員(例如currentCup[i] = a[i]
,作為 中的第一個操作for
)。null
該代碼嘗試對 a 執行通常不可能的操作(取決于操作)。在這種情況下,代碼不能getName
為null
:這會在運行時引發異常。
b
如果長度超過,代碼也會崩潰a
。
希望我有所幫助。

TA貢獻1880條經驗 獲得超4個贊
把它放在你的 if in 方法中:
if (b[i] == a[i].getName()) {
a[i].setName("");
currentCup[i] = a[i];
}
添加回答
舉報