packagechapterTwo;classPerScore{StringstuID;Stringname;Stringsex;floatscore;publicPerScore(StringstuID,Stringname,Stringsex,floatscore){super();this.stuID=stuID;this.name...
package chapterTwo;
class PerScore{
String stuID;
String name;
String sex;
float score;
public PerScore(String stuID, String name, String sex, float score) {
super();
this.stuID = stuID;
this.name = name;
this.sex = sex;
this.score = score;
}
public boolean equals(PerScore stu){
return stu.stuID.equals(this.stuID);
}
public String toString(){
return (stuID+" "+name+" "+sex+" "+score);
}
}
public class ClassScoreList extends ArrayList {
public ClassScoreList(int n){
super(n);
}
public void insertRecode(String stuID,String name,String sex,float score){
insert(new PerScore(stuID,name,sex,score));
}
public boolean setScore(String stuID,float score){
int tem=indexOf(new PerScore(stuID,"","",0));
if(tem>0){
((PerScore)this.get(tem)).score=new Float(score);
return true;
}
return false;
}
public float getScore(String stuID){
int tem=indexOf(new PerScore(stuID,"","",0));
if(tem>0){
return Float.valueOf(((PerScore)this.get(tem)).score).floatValue();
}
return -1;
}
public PerScore indexOf(String name){
int i;
for(i=1;i<=this.length();i++){
if(((PerScore)this.get(i)).name.compareTo(name)==0)
return ((PerScore)get(i));
}
return null;
}
public void printFailList(){
PerScore tem;
for(int i=1;i<=this.length();i++){
tem=(PerScore)get(i);
if(Float.valueOf(tem.score).floatValue()<60){
System.out.println(tem.toString());
}
}
}
public float average(){
float sum=0;
PerScore tem;
for(int i=1;i<=this.length();i++){
tem=((PerScore)get(i));
sum=sum+Float.valueOf(tem.score).floatValue();
}
return sum/this.length();
}
}
测试:
package chapterTwo;
public class ClassListTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassScoreList cl=new ClassScoreList(100);
cl.insertRecode("01", "一号","男", 60);
cl.insertRecode("03", "二号","男", 61);
cl.insertRecode("02", "三号","男", 62);
cl.insertRecode("04", "四号","男", 55);
cl.insertRecode("09", "五号","男", 33);
cl.insertRecode("07", "六号","男", 77);
cl.insertRecode("06", "七号","男", 88);
cl.insertRecode("05", "八号","男", 10);
cl.insertRecode("08", "九号","男", 99);
cl.setScore("02", 44);
System.out.println("学号为02成绩:"+cl.getScore("02"));
System.out.println("学号为08成绩:"+cl.getScore("08"));
System.out.println("不及格的名单:");
cl.printFailList();
System.out.println("平均成绩:"+cl.average());
System.out.println(cl.toString());
}
}
展开