嗨 在向 vector 添加一个或多个变量后,我遇到了问题
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1
at java.base/java.util.Vector.get(Vector.java:747)
at Universitaet.studAngeleldet(Universitaet.java:163) == methode studAngeleldet
at Main.main(Main.java:169) == case 6
public class Student extends Person {
Vector<LVA> studentLVA = new Vector();
public class LVA {
Vector<Student> lvaStudent = new Vector();
public class Universitaet {
Vector<Dozent> dozent = new Vector();
private int anzhal_dozenten =0;
Vector<LVA> lvas = new Vector();
public boolean studAngeleldet(String a , String b){
boolean found = false;
for (int i = 0 ; i < studenten.size() ; i++){
if(studenten.get(i).studentLVA.isEmpty()){
break;
}
for(int j = 0 ; j < lvas.size() ; j++){
if(lvas.get(j).lvaStudent.isEmpty()){
break;
}
if(a.equals(lvas.get(j).lvaStudent.get(j).getMN()) && b.equals(studenten.get(i).studentLVA.get(i).getCode())){
found = true;
}
}
}
return found;
}
case 6:
System.out.println("Bitte Geben Sie Die Matrikelnummer:");
String mn1 = in.nextLine();
if(uni.isHere(mn1)){
System.out.println("Der Studnet exisitert nicht!");
break;
}
System.out.println("Bitte geben sie Das code des LVA:");
String code1 = in.nextLine();
if(uni.isExist(code1)){
System.out.println("Der LVA not found!");
break;
}
if(uni.studAngeleldet(mn1, code1)){
System.out.println("Der student is schone zum LVA anmedet");
break;
}
System.out.println("Der student wurde anmeldet");
uni.sudentzuLvaAnmelden(mn1 , code1);
break;
最佳答案
在下面的行中,您使用 lvas vector 的索引 j。
if(a.equals(lvas.get(j).**lvaStudent.get(j)**.getMN())
由于 lvaStudent 本身就是一个 vector ,因此您必须使用自己的循环对其进行迭代。
这同样适用于studentLVA。
关于java - 如何测试 vector 中找到的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61851061/