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