我有两个类,一个名为 Bird,另一个名为 Runtime。bird 类创建鸟类 - 名称,拉丁名称。Runtime 类有 4 个方法,只有一个对这个问题很重要,那就是“添加”方法。调用时的添加方法需要从用户那里获取名称和拉丁名称的输入,这些被保存到字符串变量“名称”和“拉丁名称”中,我调用 Bird 类构造函数并将这些字符串变量传递到它的参数,最后将其添加到 ArrayList 中。但是,如果我两次写同一只鸟,我会得到重复的值。
我试图将 ArrayList 转换成一个集合,然后再将其转换回 ArrayList,我在 add 方法中做了这个,但没有用。我怀疑这是因为我对对象如何存储在 ArrayList 中的理解不足。我还在 Bird 类中创建了一个 getName 方法,所以我可以使用list.get(i).getName,如果名称等于用户键入的名称,它会相应地提示用户,如果不是,则将其添加到我的 ArrayList 中。这也没有用。我还尝试了一个遍历 ArrayList 的 for 循环和一个 if 语句来确定用户键入的名称是否存在于 ArrayList 中,这也没有用,尝试是在早期所以我不记得确切的错误消息,但是在 while 循环中调用了 add 方法,我认为错误消息是并发修改,我不完全确定所以请忽略它,我的观点是展示我尝试过的各种解决方案。
下面是鸟类
public class Bird{
int obeservation = 0;
String name;
String latinName;
public Bird(String name, String latinName){
this.name = name;
this.latinName = latinName;
}
public void addBird(String name, String latinName){
this.name = name;
this.latinName = latinName;
}
public String getName(){
return this.name;
}
public String statistics(){
return this.name + " (" + this.latinName + ") : " +
this.obeservation + " observation";
}
}
统计方法打印出 ArrayList,一个遍历 ArrayList 的 foreach 循环将其打印出来。如果我输入两次 seagull 的预期结果应该是一个海鸥值而不是两个。我如何拒绝重复?
ITMISS
慕桂英3389331
相关分类