题目显示不全,完整题目描述:
设计一个班级类和一个学生类: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+";"; } }
测试如图:数组