黑马程序员技术交流社区

标题: 关于对象数组的问题 [打印本页]

作者: 徐丹    时间: 2012-11-7 20:17
标题: 关于对象数组的问题
使用java制作学员管理系统
1、1、添加学生信息  【参数:学生对象,返回值类型:String】
2、2 、查询最高的分数是多少 【返回值类型:double】
3、 3、查询最低分数是多少【返回值类型:double】
4、4 、显示平均分是多少
【返回值类型:double】
5、5 、退出

建立学生类(Student) 类中有两个属性:name和score

建立学生管理类(StuManager),类中有个500长度的对象数组和以上各个方法,实现以上功能。

建立主函数类,测试数据。



作者: 焦晨光    时间: 2012-11-7 22:01
本帖最后由 焦晨光 于 2012-11-7 22:06 编辑

简单的写了一下 没有处理细节 只写出了思想

首先写了一个Student javabean封装数据;

package com.jiao.domain;

public class Student {
   
    private String name;
    private double score;
    public Student(String name, double score) {
        this.name = name;
        this.score = score;
    }
   
   
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getScore() {
        return score;
    }
    public void setScore(double score) {
        this.score = score;
    }

}

然后写了主方法,实现对数据的操作,没有进行细节处理,比方四舍五入等。
1、首先定义一个list集合用于存储student对象
2、初始化500个学生对象存入list集合
3、对list结合进行操作,分别实现最大值,最小值,平均值的获取
以下是代码:
package com.jiao.dao;

import java.util.ArrayList;
import java.util.List;

import com.jiao.domain.Student;

public class glStudent {

    public static void main(String[] args) {
        List<Student> Students = new ArrayList<Student>();

        for (int i = 0; i < 500; i++)
           Students.add(new Student((i + "号同学"),(double) (Math.random() * 100)));

        System.out.println("最高的分数是:"+MaxScore(Students));
        System.out.println("最低的分数是:"+MinScore(Students));
        System.out.println("平均分是:"+AvgScore(Students));
    }

    public static double MaxScore(List<Student> Students) {
        double max = 0;
        for (Student s : Students) {
            if (max < s.getScore())
                max = s.getScore();
        }
        return max;
    }

    public static double MinScore(List<Student> Students) {
        double min = 100;
        for (Student s : Students) {
            if (min > s.getScore())
              min = s.getScore();
        }
        return min;
    }

    public static double AvgScore(List<Student> Students) {
        double ss = 0;
        for (Student s : Students) {
            ss = ss + s.getScore();

        }
        return ss / 500;
    }
}

运行结果:








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2