设计一个班级类和一个学生类: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+";";
}	
}

测试如图:

原文地址:https://www.cnblogs.com/zqm-sau/p/9763288.html