ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

用JAVA语言写一个计算员工月工资的程序

2021-10-26 11:00:47  阅读:211  来源: 互联网

标签:JAVA String int double 员工 月工资 public ID name


一.任务需求

某公司分为多个部门,每个部门有一个经理和多个员工,每个员工根据职称发基本工资。员工的工资由基本工资,日加班工资,日缺勤工资等组成。具体需求如下所示:

员工的基本信息,包括部门,职务,职称以及工资记录等信息。

能记录员工的每一个职称信息,并授予相应的职称,系统在计算员工工资的时候职称对应的最高职称津贴。

二.问题域中涉及多个类,包括职员类Staff,经理类Manger,测试类TestEmployee.

Staff类:通过此类封装定义计算职员基本工资方法

Manger类:通过此类封装定义计算经理基本工资方法。

TestManger :调用方法并实现结果输出

三.代码展示

Emploee类

package com.daiinfo.seniorjava.ken1.implment;

public class Employee {
	String ID;
    String name;

    int workdays;//工作天数
    int overtimedays;//加班天数
    int absentdays;//缺勤天数
    int salary;//月工资

    /**
     * 构造函数
     */
     public Employee(String ID){
         this.ID =ID;
     }


     /**
      * 构造函数
      */
     public Employee (String ID,String name){
         this.ID=ID;
         this.name=name;
     }


     /**
      * 计算员工工资
      * workdays 工作天数
      * overtimedays 加班天数
      * absentdays 缺勤天数
      * return 返回月总工资
      */
     double calculateCount(int workdays,int overtimedays,int absentdays){
       double count;
       count =80.0*workdays+80*overtimedays-30*absentdays;  
       return count;
     }


     /**
      * 转换字符串
      */
     public String toString(){
         return name +"\t"+salary;
     }
}

Staff类

package com.daiinfo.seniorjava.ken1.implment;

public class Staff extends Employee {
	double bassewages = 2000;
    double dailywages = 50;// 日工资
    String department;
    String technicaltitle;

    /**
     * 构造函数
     */
    public Staff(String ID, String name, String department, String technicaltitle) {
        super(ID, name);
        this.department = department;
        this.technicaltitle = technicaltitle;
    }

    /**
     * 计算员工的工资 wordays 工作天数 overtimedays 加班天数 absencedays 缺勤天数
     * 
     * @return 返回月工资
     */
    double calculateCount(int workdays, int overtimedays, int absencedays) {
        double count = 0.0;
        count = bassewages + dailywages * overtimedays - dailywages * absencedays;
        return count;
    }

    /**
     * 转换字符串输出信息
     */
    public String toString(){
        return name +"\t"+salary;
    }
}

Manager类

package com.daiinfo.seniorjava.ken1.implment;

public class Manager extends Employee{
	double basewages = 3000;
    String department;// 所在部门
    String positions;

    /**
     * 构造函数 ID name department
     */
    public Manager(String ID, String name, String department, String positions) {
        // TODO Auto-generated constructor stub
        super(ID, name);
        this.department = department;
        this.positions = positions;
    }

    /**
     * 计算经理工资 workdays 工作天数 overtimedays 加班天数 absentdaysn 缺勤天数 返回月工资
     */
    double calculateCount(int workdays, int overtimedays, int absencedays) {
        double count = 0.0;
        count = basewages + 20 * overtimedays - 30 * absencedays;
        return count;
    }
}

TestEmployee类

package com.daiinfo.seniorjava.ken1.implment;

public class TestEmployee {
	public static void main(String[] args) {
        Manager manager = new Manager("001", "张三", "开发部", "经理");
        double countsalary = manager.calculateCount(22, 3, 0);
        System.out.println(countsalary);

        Staff staff = new Staff("2001", "王好", "财务部", "会计师");
        double salary = staff.calculateCount(20, 5, 1);
        System.out.println(salary);
    }

}

标签:JAVA,String,int,double,员工,月工资,public,ID,name
来源: https://blog.csdn.net/weixin_57011178/article/details/120967374

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有