定义一个表示学生的类(student)。student类包括学生的学号,姓名,年龄,性别  和 3门课程成绩的信息数据及用来获得和设置学号,姓名,年龄,性别和 3门课程成绩的方法。
创建 textstudent 类中生成10学生对象。计算3门课程的平均成绩,以及某门课程的最高分和最低分。

解决方案 »

  1.   

    package test.stu;import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;public class TextStudent {  private static int[] 科目表 = { 1, 2, 3 };  private List<Student> 学生列表;  public TextStudent() {
        this.学生列表 = new ArrayList<Student>();
        Student s;
        Map<Integer, Double> map;
        for (int i = 1; i <= 10; i++) {
          s = new Student();
          s.set学号("北大" + i);
          s.set姓名("姓名" + i);
          s.set年龄(20);
          s.set性别(i % 2);
          map = new HashMap<Integer, Double>();
          for (int 科目 : 科目表) {
            map.put(科目, 80 + i + 科目 + .1);
          }
          s.set成绩(map);
          学生列表.add(s);
        }
      }  public double get平均成绩(int 科目) {
        double 总成绩 = 0;
        for (Student s : 学生列表) {
          总成绩 += s.get成绩().get(科目);
        }
        return 总成绩 / 学生列表.size();
      }
      
      public double get最高成绩(int 科目) {
        double 最高成绩 = 0;
        double 成绩=0;
        for (Student s : 学生列表) {
          成绩=s.get成绩().get(科目);
          if(最高成绩<成绩) {
            最高成绩 = 成绩;
          }
        }
        return 最高成绩;
      }
      
      public double get最低成绩(int 科目) {
        double 最低成绩 = 0;
        double 成绩=0;
        for (Student s : 学生列表) {
          成绩=s.get成绩().get(科目);
          if(最低成绩>成绩) {
            最低成绩 = 成绩;
          }
        }
        return 最低成绩;
      }  public static void main(String[] args) {
        TextStudent ts = new TextStudent();
        for (Student s : ts.学生列表) {
          System.out.printf("%s=%2.1f\n", s.get学号(), s.get平均成绩());
        }    for (int 科目 : 科目表) {
          System.out.printf("%s平均成绩2.1f\n",科目,ts.get平均成绩(科目));
          System.out.printf("%s最高成绩=2.1f\n",科目,ts.get最高成绩(科目));
          System.out.printf("%s最低成绩=2.1f\n",科目,ts.get最低成绩(科目));
        }
      }
    }class Student {
      private String 学号;  private String 姓名;  private int 年龄;  private int 性别; // 1=男,0=女  private Map<Integer, Double> 成绩;  public double get平均成绩() {
        if (成绩.size() == 0) {
          return 0;
        }
        double 平均成绩 = 0;
        for (double d : 成绩.values()) {
          平均成绩 += d;
        }
        return 平均成绩 / 成绩.size();
      }  public String get学号() {
        return 学号;
      }  public void set学号(String 学号) {
        this.学号 = 学号;
      }  public String get姓名() {
        return 姓名;
      }  public void set姓名(String 姓名) {
        this.姓名 = 姓名;
      }  public int get年龄() {
        return 年龄;
      }  public void set年龄(int 年龄) {
        this.年龄 = 年龄;
      }  public int get性别() {
        return 性别;
      }  public void set性别(int 性别) {
        this.性别 = 性别;
      }  public Map<Integer, Double> get成绩() {
        return 成绩;
      }  public void set成绩(Map<Integer, Double> 成绩) {
        this.成绩 = 成绩;
      }
    }
      

  2.   

    CSDN的同仁们,不要乱做作业呀