亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以在將對象與另一個數組進行比較時更改對象的一個??值嗎?

我可以在將對象與另一個數組進行比較時更改對象的一個??值嗎?

米琪卡哇伊 2023-07-28 15:31:27
我有一個有名稱的對象,String [] 還有一個另一個 String 數組,它只存儲 main 中的對象的名稱(第一個參數)。import java.util.*;class Dice{    public String [] side;    public String name;    public Dice (String n, String ... a){        name = n;        side = a;    }    //Setter and Getter name    public String getName(){        return name;    }    public void setName(String n){        name = n;    }}對象參數在主類中設置。Dice easy = new Dice("Green:","Brain","Brain","Brain","Foot Print","Foot Print","Shotgun");字符串數組只存儲名稱Easy:。我試圖通過將兩個數組傳遞給 main 中的方法來比較它們。//Removeing the 3 dice which were picked form the cup of the current playerpublic static Dice [] cup(Dice [] a , String [] b){    Dice [] currentCup = new Dice[a.length];    for (int i = 0; i < b.length; i++) {        if (b[i] == a[i].getName()) {            currentCup[i].setName("");        }    }    return currentCup;}如果對象的名稱等于字符串數組中的名稱,則對象名稱應等于且為空 String(" ")。我收到錯誤Exception in thread "main" java.lang.NullPointerException我知道在這里使用 ArrayList 更好,因為我只需 .remove(i, elem) 即可。但我不知道如何將 ArrayList 傳遞到構造函數中。另外,這只是我自己使用數組的純粹練習。結果應該是,如果 Dice [].getName() 等于 easy,則該 Dice 對象的名稱應該是一個空字符串“”。
查看完整描述

3 回答

?
慕妹3242003

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沒有做您真正要做的事情。:)


查看完整回答
反對 回復 2023-07-28
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

cup方法中,返回值currentCup從未被分配,因此它只是 的“序列” null。您需要單獨初始化其成員(例如currentCup[i] = a[i],作為 中的第一個操作for)。null該代碼嘗試對 a 執行通常不可能的操作(取決于操作)。在這種情況下,代碼不能getNamenull:這會在運行時引發異常。

b如果長度超過,代碼也會崩潰a。

希望我有所幫助。


查看完整回答
反對 回復 2023-07-28
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

把它放在你的 if in 方法中:


if (b[i] == a[i].getName()) {

    a[i].setName("");

    currentCup[i] = a[i];

}


查看完整回答
反對 回復 2023-07-28
  • 3 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號