黑马程序员技术交流社区
标题:
刚刚写了个学生成绩管理系统为什么会报数组越界异常
[打印本页]
作者:
猪猪fly侠
时间:
2015-5-3 20:25
标题:
刚刚写了个学生成绩管理系统为什么会报数组越界异常
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class StuscManage {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Student stu1 = new Student();
Student stu2 = new Student();
Student stu3 = new Student();
Student stu4 = new Student();
Student stu5 = new Student();
ArrayList<Student> al = new ArrayList<Student>();
al.add(stu1); al.add(stu2); al.add(stu3); al.add(stu4);
al.add(stu5);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] st = new String[4];
for(int i = 0;i < 5;i++){
st[i] = br.readLine();
String[] s = splitSt(st[i]);
al.get(i).setName(s[0]);
al.get(i).setMath(Integer.parseInt(s[1]));
al.get(i).setChinese(Integer.parseInt(s[2]));
al.get(i).setEnglish(Integer.parseInt(s[3]));
}
for(Student Student:al){
System.out.println(Student.toString()+"\t"+Student.getSum());
}
}
private static String[] splitSt(String st) {
// TODO Auto-generated method stub
String[] s = st.split(",");
return s;
}
}
作者:
东东西西
时间:
2015-5-3 20:34
高大上 。。看不懂
作者:
猪猪fly侠
时间:
2015-5-3 21:13
东东西西 发表于 2015-5-3 20:34
高大上 。。看不懂
囧,我也是新手,看了毕老师的模仿的
作者:
殷俊
时间:
2015-5-3 21:37
String[] st = new String[4];
for(int i = 0;i < 5;i++){
st[i] = br.readLine();
String[] s = splitSt(st[i]);
这里有问题,你数组的长度定义为4,即最后一个元素为st[3],但是你循环里面却出现了st[4],所以数组角标越界
作者:
雾以泪聚丶
时间:
2015-5-3 22:57
好尴尬的说看了半天没懂,我也是醉了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2