zoukankan      html  css  js  c++  java
  • 设计一个班级类和一个学生类: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+";";
    }	
    }
    

    测试如图:

  • 相关阅读:
    如何对已上架的宝贝进行调整不被降权?
    报错ERR_CONNECTION_REFUSED,如何解决(原创)
    ***在Linux环境下mysql的root密码忘记解决方法(三种)-推荐第三种
    微信获取用户基本信息,头像是一张“暂时无法查看”的图?
    Linux中zip压缩和unzip解压缩命令详解
    Android必知必会-App 常用图标尺寸规范汇总
    国外主机海外主机测评总结
    美国主机BlueHost vs HostEase
    cPanel中添加设置附加域(Addon domain)
    香港新世界机房和电讯盈科机房,沙田机房,葵芳机房哪数据中心一个好?服务器托管
  • 原文地址:https://www.cnblogs.com/zqm-sau/p/9763288.html
Copyright © 2011-2022 走看看