编辑:
我尝试创建可以做我想做的事情,但是我收到了错误
String namn = JOptionPane.showInputDialog("Write persons name");
String dele = JOptionPane.showInputDialog("Yes or no? (Ja/nej)");
int pos = personLista.indexOf(namn);
personLista.get(pos).setDelegat(dele);
System.out.println("Done!");
错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at finnish.jovo.main(jovo.java:29)
Doest意味着它无法在列表中找到该名称?
我正在考虑如何正确地创建一个取决于我的输入字符串来获取某个arrayList项的方法。
所以,如果我是f.e.试图通过在输入框中写下名称来获得所述值。
对象:
protected String namn, enamn, kårtill, mötdel;
public Person(String namn, String enamn, String kårtill, String mötdel) {
this.namn=namn;
this.enamn=enamn;
this.kårtill=kårtill;
}
public String getNamn(){
return namn;
}
public String getKår() {
return kårtill;
}
public void setNamn(String namn){
this.namn=namn;
}
public void setDelegat(String mötdel) {
this.mötdel=mötdel;
}
列表:
static List<Person> personLista =new ArrayList();
基本上我试图用一些有点胡言乱语的代码来完成:
String name = JOptionPane.showInputDialog("Write persons name");
if (name exists in list) {
get position of name
String truefalse = JOptionPane.showInputDialog("True or false?");
setDelegat(truefalse) in said item
}
非常感谢一些帮助!