Course类:

package com.goodprg.d1207.que1;

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

public class Course

{

private String name;

//选中此课程的学生成绩

private List stuList = new ArrayList();

public Course()

{

super();

}

public Course(String name)

{

super();

this.name = name;

}

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public List getStuList()

{

return stuList;

}

public void setStuList(List stuList)

{

this.stuList = stuList;

}

public void stuChoose(Student s)

{

this.stuList.add(s);

}

/**

* 计算平均值

*

* @return [参数说明]

*

* @return float [返回类型说明]

* @exception throws [违例类型] [违例说明]

* @see [类、类#方法、类#成员]

*/

public float getAvg()

{

int count = 0;

float total = 0;

for(Student s : stuList)

{

total = total + s.getScore();

count++;

}

if(count==0)

{

return 0;

}

return total / count;

}

/**

* 计算方差

*

* @return [参数说明]

*

* @return float [返回类型说明]

* @exception throws [违例类型] [违例说明]

* @see [类、类#方法、类#成员]

*/

public float getVariance()

{

if(stuList.size()==0)

{

return 0;

}

float avg = getAvg();

float totalTmp = 0;

for(Student s : stuList)

{

float sub = s.getScore() - avg;

totalTmp = sub * sub + totalTmp;

}

return totalTmp / stuList.size();

}

/**

* 求中位数

*

* @return [参数说明]

*

* @return float [返回类型说明]

* @exception throws [违例类型] [违例说明]

* @see [类、类#方法、类#成员]

*/

public float getMedian()

{

if(stuList.size()==0)

{

return 0;

}

int inx = stuList.size() / 2;

int mod = stuList.size() % 2;

//排序集合

Collections.sort(stuList);

//个数为奇数

if(mod==1)

{

return stuList.get(inx).getScore();

}

//个数为偶数

else

{

float s1 = stuList.get(inx-1).getScore();

float s2 = stuList.get(inx).getScore();

return (s1+s2)/2;

}

}

/**

* 排序后,返回的list

*

* @return [参数说明]

*

* @return List [返回类型说明]

* @exception throws [违例类型] [违例说明]

* @see [类、类#方法、类#成员]

*/

public List sortStudents()

{

Collections.sort(stuList);

return stuList;

}

public static void main(String[] args)

{

int a = 9/2;

System.out.println(a);

}

}

Student类:

package com.goodprg.d1207.que1;

public class Student implements Comparable

{

//学生姓名

private String name;

//课程成绩

private float score;

public Student()

{

super();

}

public Student(String name, float score)

{

super();

this.name = name;

this.score = score;

}

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public float getScore()

{

return score;

}

public void setScore(float score)

{

this.score = score;

}

@Override

public int compareTo(Student o)

{

int res = this.score>o.score ? 1 : (this.score==o.score ? 0 : -1);

return res;

}

@Override

public String toString()

{

return "学生:【" + name + "】成绩为:" + score;

}

}

测试类:

package com.goodprg.d1207.que1;

import java.util.List;

public class Test

{

public static void main(String[] args)

{

Student s1 = new Student("张一",92);

Student s2 = new Student("张二",83);

Student s3 = new Student("张三",77);

Student s4 = new Student("张四",99);

Course cs = new Course("马列主义");

cs.stuChoose(s1);

cs.stuChoose(s2);

cs.stuChoose(s3);

cs.stuChoose(s4);

//平均值

System.out.println("课程【"+cs.getName()+"】学生平均值:"+cs.getAvg());

System.out.println("课程【"+cs.getName()+"】学生成绩方差:"+cs.getVariance());

System.out.println("课程【"+cs.getName()+"】学生成绩中位数:"+cs.getMedian());

System.out.println("课程【"+cs.getName()+"】学生成绩排序如下:");

List sortStus = cs.sortStudents();

for(Student s : sortStus)

{

System.out.println(s);

}

}

}

运行结果

课程【马列主义】学生平均值:87.75

课程【马列主义】学生成绩方差:70.6875

课程【马列主义】学生成绩中位数:87.5

课程【马列主义】学生成绩排序如下:

学生:【张三】成绩为:77.0

学生:【张二】成绩为:83.0

学生:【张一】成绩为:92.0

学生:【张四】成绩为:99.0

追问

学生成绩存储在文件中,每行一个学生成绩,形如:

20151201 85 84 91.5

20151202 70 85 65

。。。

请编程读入学生成绩,并计算各门课程的均值和方差,写入文件最后的最后一行

温馨提示:答案为网友推荐,仅供参考

java定义一个course类,java集合,定义两个类,学生Student和课程Course,课程被学生选修,请在课程类中提供以下功能:...相关推荐

  1. Java编程---(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。(2)定义3个类:Tank,Flighter,

    题目:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式. (2)定义3个类:Tank,Flighter,WarShip ...

  2. [java基础入门]java期末常考题。定义一个父类person,该类中有两个私有的属性姓名name和age,实现两个属性的封装 定义构造等等来初始化成员变量name和age,在定义显示show方法将

    编程要求: 定义一个父类person,该类中有两个私有的属性姓名name和age, 实现两个属性的封装 定义构造等等来初始化成员变量name和age, 在定义显示show方法将姓名和年龄打印出来, 创 ...

  3. (1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。 (2)定义3个类:Tank,Fl

    代码 /*第一题:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move()这两个方法分别表示武器的攻击方式和移动方式.(2)定义3个类:Tank,Flighter,War ...

  4. 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者

    原标题:从零基础学Java成为一个专业的java web 开发者 "我怎么才能成为一个Java Web开发者?"对于这个问题,答案其实并不简单.成为一个Java Web开发人员包括 ...

  5. Java创建一个文件变量_java如何定义一个类,创建它的成员变量和方法?

    展开全部 类即对象的思想,一个对象包含e68a843231313335323631343130323136353331333337623439了属于自己的成员变量和操作方法. 如何定义一个类,得看你对 ...

  6. java定义苹果类Apple_定义一个水果接口Fruit,里面定义一个表示吃水果的eat方法。定义一个苹果类Apple和一个橘子...

    importjava.util.Scanner;interfaceFruit{publicvoideat();//创建一个Fruit接口,里面包含一个eat方法}classAppleimplement ...

  7. java定义一个eat方法,java基础5实战开发Day2/方法/2020-04-26

    目录 1.扑克牌Demo 2.方法的定义 3.参数的值传递 4.可变参数 5.方法重载和构造方法 1.扑克牌Demo 一个小程序让大家了解方法的定义和使用 生成一副扑克牌: 1.首先要创建一张牌(包括 ...

  8. java 分割一个_分割java

    [java]分割字符串工具类,霸气 jdk自带的 java 分割字符串,分割string,可以根据多个条件去分割.比如逗号,分号,逗号或者分号. 比如一个字符串:"abc,def;gh,ij ...

  9. python定义一个整数变量_python循环定义多个变量的实例分析

    python循环定义多个变量方法 我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量. 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串. e ...

最新文章

  1. Pytorch - GPU ID 指定 pytorch gpu 指定
  2. PDO防注入原理分析以及使用PDO的注意事项 (转)
  3. HDU 1257 - 最少拦截系统 ( LIS / 贪心 )
  4. 转载:每一个程序员要遵守的一些优秀编程风格
  5. Pytorch模型层简单介绍
  6. 我的B端产品经理工作流
  7. java录入会员信息_Java编程语言基础 第三章 实现会员信息录入功能
  8. python的十大算法_Python十大排序算法
  9. 使用Golang搭建web服务
  10. [转]asp.net中打印ReportViewer报表
  11. 【一步一步学习mysql】数据库操作
  12. 系统服务器ping偶尔超时,云服务器ping超时原因
  13. Keil4打开单片机工程一片空白,cpu100%程序卡死的问题解决
  14. 惠普HP LaserJet Pro MFP M126nw 打印机驱动
  15. Mac 系统更新系统安装包损坏丢失,崩溃
  16. php计算用户留存,留存率到底有几种计算方式
  17. python网课教学_如何上好网课 — 老师录课和在线上课教学经验谈
  18. 曾国藩【挺经】全文 不错的文章,值得学习!
  19. 卡塔尔世界杯进入倒计时,万人观赛的直播体验如何保障?
  20. 揭秘:“苏宁拼购基地”落地全国的原因

热门文章

  1. cv2 inrange灰度图_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...
  2. 手机滤镜怎么移植到ps上_一分钟教你电脑端Lr、Ps滤镜预设/手机端Lr预设如何导入【图文教程】...
  3. 页面滚动事件无效小记
  4. JAVA实体类不要使用基本类型,基本类型包含byte、int、short、long、float、double、char、boolean...
  5. 阿里云上遇到: virtual memory exhausted: Cannot allocate memory
  6. ubuntu 下重装mysql若干问题
  7. 基于Redis的CustomerSessionProvider(一)
  8. ICCV2021 2D和3D通用!新医疗影像自监督SOTA(代码已开源)
  9. 华为服务器型号2285,华为服务器2285磁盘阵列设置
  10. linux逻辑分区被删除了怎么办,找到了linux分区顺序错乱修复方法