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+";";
    }	
    }
    

    测试如图:

  • 相关阅读:
    CPU die
    删除binlog的方法
    mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围
    Javascript中的Keycode值列表
    php5.2转向 PHP 5.3 的 PHP 开发
    linux 下查看系统内存使用情况的方法
    Kyoto Cabinet(DBM) + Kyoto Tycoon(网络层)
    window 7 下一台cp 两个mysql 配置主从
    php 序列化(serialize)格式详解
    Linux下ntpdate时间同步
  • 原文地址:https://www.cnblogs.com/zqm-sau/p/9763288.html
Copyright © 2011-2022 走看看