网站首页 > 文章中心 > 其它

java教师工作量代码

作者:小编 更新时间:2023-08-26 13:45:34 浏览量:137人看过

java教师工作量计算法

/**

* 我写了一个 希望 有用

*

* 如果 哪位高手 有兴趣

* 帮忙 实现 一下 Teacher 类中的 private void checkClassRepeat() 方法 感谢!!

java教师工作量代码-图1

*/

==================================第一个类 TypeValue

package org.wood.teacher;

* 创建 各种系数常量

* @author Administrator

public interface TypeValue {

* 班级系数

java教师工作量代码-图2

* 职称系数

* 助教 系数1

double LEVEL_TYPE_ASISITANT_VALUE = 1.0;

* 理论课重复系数

* 重复课系数

* 非重复课 系数

double UNREPEAT_COURSE_VALUE = 1;

}

==================================第二个类 Class类

* 班级类 包含

* 班级号 classId

* 班级课程类别(courseName):如java,c++,.net或其他

* 班级人数(studentNumber)

* 班级理论课时间(theoryTime)

* 班级实训(实践)课时间(practiseTime)

* 班级是不是重复的 repeat(如果是重复的,计算该班级的工作量时,使用的系数与重复的不一样)

* repeat属性,比较特殊,需要在统计该班的工作量之前,确定该班是否是重复了.

* repeat=true; 重复的

* repeat=false; 班级非重复的

* 核心方法 calculateClassWorkload

* 该方法 用来计算 带此班的老师的工作量,有一个参数,就是老师的职称系数.

public class Class {

private int classId;

// 班级课程类别

private String courseName;

// 班级人数

private int studentNumber;

// 班级理论课时间

private int theoryTime;

// 班级实训(实践)课时间

private int practiseTime;

private boolean repeat;

public Class() {

super();

public Class(int classId, String courseName, int studentNumber,

int theoryTime, int practiseTime) {

this.classId = classId;

this.courseName = courseName;

this.studentNumber = studentNumber;

this.theoryTime = theoryTime;

this.practiseTime = practiseTime;

* 计算班级工作量 参数 为 老师的 职称系数

* @param teacherLevlValue(参数为 该老师的 职称的系数)

* @return

public double calculateClassWorkload(double teacherLevelValue) {

* 判断是否是重复的课程

if (this.repeat) {

System.out.println(this.courseName+" "+this.classId+"班,重复了!");

System.out.println(

this.theoryTime+" * "

+ TypeValue.COURSE_TYPE_THEORY_VALUE+" * "

+getClassTypeStudentNumberValue()+" * "

+teacherLevelValue+" * "

+TypeValue.REPEAT_COURSE_VALUE +"(重复系数) + "

+this.practiseTime+" * "

+ TypeValue.COURSE_TYPE_PRACTISE_VALUE+" * "

+teacherLevelValue);

* 重复的班级 工作量算法

return this.theoryTime

* TypeValue.COURSE_TYPE_THEORY_VALUE

* getClassTypeStudentNumberValue()

* teacherLevelValue

* TypeValue.REPEAT_COURSE_VALUE

+ this.practiseTime

* TypeValue.COURSE_TYPE_PRACTISE_VALUE

* teacherLevelValue;

} else {

// System.out.println(this.classId+"班,非重复!");

+TypeValue.UNREPEAT_COURSE_VALUE +"(非重复系数) + "

* 非重复的班级的 工作量的算法

* TypeValue.UNREPEAT_COURSE_VALUE

* 获取班级 人数系数

private double getClassTypeStudentNumberValue() {

} else if (this.studentNumber = 100) {

return TypeValue.CLASS_TYPE_STUDENT_NUMBER_ABOVE_100_VALUE;

return -1;

public int getClassId() {

return classId;

public void setClassId(int classId) {

public String getCourseName() {

return courseName;

public void setCourseName(String courseName) {

public int getStudentNumber() {

return studentNumber;

public void setStudentNumber(int studentNumber) {

public int getTheoryTime() {

return theoryTime;

public void setTheoryTime(int theoryTime) {

public int getPractiseTime() {

return practiseTime;

public void setPractiseTime(int practiseTime) {

public boolean isRepeat() {

return repeat;

public void setRepeat(boolean repeat) {

this.repeat = repeat;

java教师工作量代码-图3

@Override

public int hashCode() {

int result = 1;

result = prime * result

+ ((courseName == null) ? 0 : courseName.hashCode());

return result;

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

final Class other = (Class) obj;

if (courseName == null) {

if (other.courseName != null)

} else if (!courseName.equals(other.courseName))

==================================第三个类 Teacher类

import java.util.ArrayList;

import java.util.List;

* 教师类 包含教室的 姓名,职称(级别)信息

* 核心方法 计算该教师的工作量(多个班级的工作量的和) calculateWorkload();

public class Teacher {

* 姓名

private String name;

* 职称/级别 助教、讲师、副教授、正教授

private String level;

* 老师 所带领的班级的集合

private ListClass classes = new ArrayListClass();

public Teacher() {

public Teacher(String name, String level) {

this.name = name;

this.level = level;

* addClass(Class clas) 添加 老师带的班级 到 老师带班集合

* @param clas

public void addClass(Class clas) {

this.classes.add(clas);

* 计算教师的工作量(workload)

public double calculateWorkload() {

* 获取教师的级别系数

double levlValue = getTeacherLevlValue();

System.out.println("职称系数:"+levlValue);

* 检测 教师 所带领的 班级

* 如果 有班级是 重复的,将人数最少的班级 的重复属性 赋值为 true

checkClassRepeat();

* 计算 工作量

* 结合 教师的 职称

double sum=getSum(levlValue);

return sum;

private double getSum(double levlValue) {

double sum=0.0;

for(Class c:this.classes){

sum+=c.calculateClassWorkload(levlValue);

System.out.println("SUM:----"+sum);

private void checkClassRepeat() {

* 此方法 没有实现,请高手 实现

* 我的想法是遍历 ListClass classes 集合,比较集合中的对象,

* 如果有对象是相同的(我重写了Class的equals()方法,只要课程名相同,就表示两个班相同)

* 则将 班级人数少的班级的重复 属性 赋值为true(默认为false)----计算班级的工作量是用到 该属性 做判断

* 请高手帮忙!!

* 现在只能 手动地设置 某个班级 为重复的,从而进行计算

* 获取教师的 职称系数方法

* 通过 教师的 职称 确定的 教师的 职称系数

private double getTeacherLevlValue() {

// 助教、讲师、副教授、正教授

if ("助教".equals(this.level)) {

return TypeValue.LEVEL_TYPE_ASISITANT_VALUE;

} else if ("讲师".equals(this.level)) {

return TypeValue.LEVEL_TYPE_DOCENT_VALUE;

} else if ("副教授".equals(this.level)) {

return TypeValue.LEVEL_TYPE_ASSOCIATE_PROFESSOR_VALUE;

} else if ("正教授".equals(this.level)) {

return TypeValue.LEVEL_TYPE_PROFESSOR_VALUE;

* 计算教师的收入

* @param perWorkloadPrice(单价)

public double calculateIncome(double perWorkloadPrice) {

return calculateWorkload()*perWorkloadPrice;

public String getName() {

return name;

public void setName(String name) {

public String getLevel() {

return level;

public void setLevel(String level) {

public ListClass getClasses() {

return classes;

public void setClasses(ListClass classes) {

this.classes = classes;

==================================第四个类 测试类 TestCal类

public class TestCal {

public static void main(String[] args) {

Teacher teacher=new Teacher("张三","讲师");

* 构建 班级1 对象

class01.setRepeat(true);

teacher.addClass(class01);

* 计算工作量

double result=teacher.calculateWorkload();

System.out.println("R:"+result);

* java 1班,重复了!

*实现了Teacher 类中的 private void checkClassRepeat() 方法 就可以

*自动判断 哪一个 班级是重复的

* 但是 现在 我未能实现此方法

* 只能 像测试类中的 那样, 手动地 设置 该班级 是否是重复班级

1、java中编写一个类Teacher,描述教师的课时数量和计算课时的系数,均为double类型.

package com.demo;

private double classNo=0.0;//课时数量

public Teacher(){

public Teacher(double classNo){//构造函数

this.classNo=classNo;

public double courseCompute( ){

return xishu*classNo;

public static void main(String[] string){

System.out.println(teacherOne.courseCompute());//输出结果

System.out.println(teacherTwo.courseCompute());

teacherOne.xishu=1;//修改系数

System.out.println(teacherOne.courseCompute());//重新输出结果

运行结果:

谁帮做个Java的设计,基于access的教师工作量系统,有酬谢!(Q谈)急啊!

可以借助Baidu Hi示意我

有时间可能完成你所面临的任务

差不多的要求也可能示意我

交易提醒:预付定金是诈骗

以上就是土嘎嘎小编为大家整理的java教师工作量代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章