题目显示不全,完整题目描述:
设计一个班级类和一个学生类:1.学生类属性:姓名,学号,成绩(整数即可);定义相关构造方法;定义返回学生信息字符串的方法;2.班级类属性:班级名,人数,成员;其中成员是一个学生类的数组;班级类中定义方法,(1)显示总分和平均分(2)显示最高分和最低分学生信息(3)向班级中添加学生,即向班级类中的成员数组中添加学生对象。3.在班级类中定义main方法,定义班级类对象,输入多个学生信息,然后输出这个班级的:总分,平均分,输出最高分学生信息,输出最低分学生信息。
完整代码如下:
package naizi;public class Class {private String ClassName;
private int Number;
private static int count=0; //记录总人数
Student[] mate = new Student[200]; //定义最多200个学生类对象Class(String ClassName,int Number){ //构造方法this.ClassName=ClassName;this.Number=Number;
}public void append(Student p){//因为编程的时候老是在这个地方报错,所以加了个异常try{mate[count++] = new Student(p.getName(),p.getSchoolNumber(),p.getScore());}catch (Exception e) {System.out.println("空指针异常");System.exit(1);}
}public void totalAndaverage(){ //记录总分int sum=0,i;for(i=0;i<count;i++){sum+=mate[i].getScore();}System.out.println("total score:"+sum); System.out.println("average score:"+sum/count); } public void maxAndmin(){ //找到并记录最高分最低分所在学生类数组的序列号int max=0,min=0,MaxScore,MinScore,i;MaxScore = mate[0].getScore();MinScore = mate[0].getScore();for(i=0;i<count;i++){if(MaxScore<=mate[i].getScore()){MaxScore = mate[i].getScore();max=i;}if(MinScore>=mate[i].getScore()){MinScore = mate[i].getScore();min=i;}}System.out.println("max Info:"+mate[max].showInfo()); System.out.println("max Info:"+mate[min].showInfo()); }public static void main(String args[]){ Class c=new Class("class1",3); Student p=new Student("zhangsan","101",47); c.append(p); p=new Student("lisi","102",68); c.append(p); p=new Student("wanger","103",98); c.append(p); c.totalAndaverage(); c.maxAndmin(); } }//定义学生类
class Student{
private String Name;
private String SchoolNumber;
private int Score;//定义构造方法
Student(String Name,String SchoolNumber,int Score){this.Name=Name;this.SchoolNumber=SchoolNumber;this.Score=Score;
}//定义get和set方法
public String getName() {return Name;
}
public void setName(String name) {Name = name;
}
public void setSchoolNumber(String schoolNumber) {SchoolNumber = schoolNumber;
}
public void setScore(int score) {Score = score;
}
public String getSchoolNumber() {return SchoolNumber;
}
public int getScore() {return Score;
}
//子类新定义的方法
public String showInfo(){return "name="+Name+";num="+SchoolNumber+";score="+Score+";";
}
}
测试如图: