設計一個班級類和一個學生類:1.學生類屬性:姓名,學號,成績(整數便可),定義相關構造方法;定義返回學生信息字符串的方法;2.班級類屬性:班級名,人數,成員;其中成員是一個學生類的數組;

題目顯示不全,完整題目描述:

設計一個班級類和一個學生類: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+";";
}	
}

測試如圖:數組

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息