題目顯示不全,完整題目描述:
設計一個班級類和一個學生類: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+";"; } }
測試如圖:數組