package report5;
import java.util.ArrayList;
public class Student {
int id;
String name;
ArrayList<Integer> quizResult =new ArrayList<Integer>(10) ;
public Student()
{}
public Student( int id){
this.id=id;
}
public Student(int id, String name){
this.id=id;
this.name=name;
}
public void setID(int id){
this.id=id;
}
public void setName(String name){
this.name=name;
}
void setAllResult(int a, int b, int c, int d, int e){
quizResult.add(a);
quizResult.add(b);
quizResult.add(c);
quizResult.add(d);
quizResult.add(e);
}
void setUpdate(int index, int value){
quizResult.set(index,value );
}
int sum()
{ int sum=0;
for(int i:quizResult)
sum+=quizResult.get(i) ;
return sum;
}
void print(){
System.out.printf("%d %s ",id,name);
for(int i=0; i<quizResult.size() ;i++)
System.out.printf("%d ",quizResult.get(i) ) ;
System.out.printf("(Total %d,Average %d",sum(),sum()/5);
}
}
测试class
package report5;
public class test {
static void method1()
{
Student aaa=new Student();
Student bbb=new Student(234567);
Student ccc=new Student(345678,"hongg");
aaa.setID(123456);
aaa.setName("chengwuql");
aaa.setAllResult(7, 9, 7, 9, 6);
bbb.setName("kang");
bbb.setAllResult(7, 5, 1, 8, 8);
ccc.setAllResult(8, 9, 8, 4, 8);
aaa.print();
bbb.print();
ccc.print();
}
public static void main(String[] args) {
method1();
}
}
题目是 使用 给定的部分代码 然后完成。。。
求 aaa bbb ccc 三人五次的成绩 和平均成绩
考察 重载的构造函数
输出结果
123456 chengwuql 7 9 7 Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 7 out-of-bounds for length 5
at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source)
at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source)
at java.base/java.util.Objects.checkIndex(Unknown Source)
at java.base/java.util.ArrayList.get(Unknown Source)
at report5.Student.sum(Student.java:47)
at report5.Student.print(Student.java:54)
at report5.test.method1(test.java:17)
at report5.test.main(test.java:24)
本人不太会用arraylist ,应该是这里出问题了,谢谢