java定义一个course类,java集合,定义两个类,学生Student和课程Course,课程被学生选修,请在课程类中提供以下功能:...
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,课程被学生选修,请在课程类中提供以下功能:...相关推荐
- Java编程---(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。(2)定义3个类:Tank,Flighter,
题目:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式. (2)定义3个类:Tank,Flighter,WarShip ...
- [java基础入门]java期末常考题。定义一个父类person,该类中有两个私有的属性姓名name和age,实现两个属性的封装 定义构造等等来初始化成员变量name和age,在定义显示show方法将
编程要求: 定义一个父类person,该类中有两个私有的属性姓名name和age, 实现两个属性的封装 定义构造等等来初始化成员变量name和age, 在定义显示show方法将姓名和年龄打印出来, 创 ...
- (1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。 (2)定义3个类:Tank,Fl
代码 /*第一题:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move()这两个方法分别表示武器的攻击方式和移动方式.(2)定义3个类:Tank,Flighter,War ...
- 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者
原标题:从零基础学Java成为一个专业的java web 开发者 "我怎么才能成为一个Java Web开发者?"对于这个问题,答案其实并不简单.成为一个Java Web开发人员包括 ...
- Java创建一个文件变量_java如何定义一个类,创建它的成员变量和方法?
展开全部 类即对象的思想,一个对象包含e68a843231313335323631343130323136353331333337623439了属于自己的成员变量和操作方法. 如何定义一个类,得看你对 ...
- java定义苹果类Apple_定义一个水果接口Fruit,里面定义一个表示吃水果的eat方法。定义一个苹果类Apple和一个橘子...
importjava.util.Scanner;interfaceFruit{publicvoideat();//创建一个Fruit接口,里面包含一个eat方法}classAppleimplement ...
- java定义一个eat方法,java基础5实战开发Day2/方法/2020-04-26
目录 1.扑克牌Demo 2.方法的定义 3.参数的值传递 4.可变参数 5.方法重载和构造方法 1.扑克牌Demo 一个小程序让大家了解方法的定义和使用 生成一副扑克牌: 1.首先要创建一张牌(包括 ...
- java 分割一个_分割java
[java]分割字符串工具类,霸气 jdk自带的 java 分割字符串,分割string,可以根据多个条件去分割.比如逗号,分号,逗号或者分号. 比如一个字符串:"abc,def;gh,ij ...
- python定义一个整数变量_python循环定义多个变量的实例分析
python循环定义多个变量方法 我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量. 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串. e ...
最新文章
- Pytorch - GPU ID 指定 pytorch gpu 指定
- PDO防注入原理分析以及使用PDO的注意事项 (转)
- HDU 1257 - 最少拦截系统 ( LIS / 贪心 )
- 转载:每一个程序员要遵守的一些优秀编程风格
- Pytorch模型层简单介绍
- 我的B端产品经理工作流
- java录入会员信息_Java编程语言基础 第三章 实现会员信息录入功能
- python的十大算法_Python十大排序算法
- 使用Golang搭建web服务
- [转]asp.net中打印ReportViewer报表
- 【一步一步学习mysql】数据库操作
- 系统服务器ping偶尔超时,云服务器ping超时原因
- Keil4打开单片机工程一片空白,cpu100%程序卡死的问题解决
- 惠普HP LaserJet Pro MFP M126nw 打印机驱动
- Mac 系统更新系统安装包损坏丢失,崩溃
- php计算用户留存,留存率到底有几种计算方式
- python网课教学_如何上好网课 — 老师录课和在线上课教学经验谈
- 曾国藩【挺经】全文 不错的文章,值得学习!
- 卡塔尔世界杯进入倒计时,万人观赛的直播体验如何保障?
- 揭秘:“苏宁拼购基地”落地全国的原因
热门文章
- cv2 inrange灰度图_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...
- 手机滤镜怎么移植到ps上_一分钟教你电脑端Lr、Ps滤镜预设/手机端Lr预设如何导入【图文教程】...
- 页面滚动事件无效小记
- JAVA实体类不要使用基本类型,基本类型包含byte、int、short、long、float、double、char、boolean...
- 阿里云上遇到: virtual memory exhausted: Cannot allocate memory
- ubuntu 下重装mysql若干问题
- 基于Redis的CustomerSessionProvider(一)
- ICCV2021 2D和3D通用!新医疗影像自监督SOTA(代码已开源)
- 华为服务器型号2285,华为服务器2285磁盘阵列设置
- linux逻辑分区被删除了怎么办,找到了linux分区顺序错乱修复方法