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

测试如图:

猜你喜欢

转载自www.cnblogs.com/zqm-sau/p/9763288.html