我有一个有名称的对象,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 player
public 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 对象的名称应该是一个空字符串“”。
慕妹3242003
牧羊人nacy
慕村225694
相关分类