【发布时间】:2018-08-16 12:42:30
【问题描述】:
我似乎无法理解为什么我尝试打印的数组在我尝试将其附加到 JTextArea 时会引发数组越界错误。
两个数组都已初始化为从零开始。
private ArrayList<String> UniResponse = new ArrayList(0);
private ArrayList<String> CHOICES = new ArrayList(0);
uniPicksString、UniResponse 和 CHOICES 是从不同对象传递过来的数组,但它们也被初始化为从 0 开始;
此方法将数组列表的元素作为字符串类型返回
String receiveAdminResponse() {
Iterator<String> itr = UniResponse.iterator();
String hold = null;
int count=0;
System.out.println("\n inside Student class = pringint decision array");
for (count = 0;count < UniResponse.size(); count++) {
System.out.println(UniResponse.get(count));
}
while(itr.hasNext() && count<UniResponse.size()) {
hold = UniResponse.get(count);
}
return hold;
}
这是创建附加到 JTextArea 的字符串的方法
String returnProfile() {
String studentInfo =FAMILYNAME+", " + "average = " + AVERAGE + " \n";
String uniPicksString ="";
for (int i = 0; i<CHOICES.size(); i++) {
if(i<CHOICES.size() - 1) {
uniPicksString = uniPicksString +CHOICES.get(i)+ ": " + ApplicantArray.get(i).receiveAdminResponse();//"admin decision, " ;
}else {
uniPicksString = uniPicksString + CHOICES.get(i)+ ": " + ApplicantArray.get(i).receiveAdminResponse();//"admin decision" + "\n" ;
}
}
return studentInfo + uniPicksString + "\n";
}
是否可以创建一个try catch 语句来忽略抛出的错误并打印arraylist?
非常感谢任何建议。
【问题讨论】:
-
除此之外,现在是开始遵循 Java 命名约定的好时机。尽早养成良好的习惯很重要。接下来,您能否提供minimal reproducible example 而不仅仅是 sn-ps,并确保您显示确切的异常,包括堆栈跟踪?您在显示的代码中调用了 6 次
ArrayList.get(),但我们看不到哪个抛出了异常。 -
很可能您的
ApplicantArray比CHOICES数组小
标签: java swing arraylist error-handling indexoutofboundsexception