【java】Calcular el salario de los empleados

【Introducción del caso】

  1. detalles de la misión

Una empresa tiene varios departamentos. La información del empleado incluye nombre, tipo, departamento y salario básico.

basicSalary, existen tres tipos de empleados: administradores, vendedores y trabajadores.

El personal del departamento financiero de la empresa debe calcular los salarios reales de los empleados cada mes.

Salario real = ingreso mensual – impuesto sobre la renta personal a pagar.

en:

(1) El método de cálculo del ingreso mensual se determina según el tipo:

 Administrador: ingreso mensual = salario base + bonificación

 Vendedor: ingreso mensual = salario básico + ventas monto de ventas * tasa de comisión

 Trabajadores: ingreso mensual = salario base + pago de horas extrasPago de horas extras

(2) Se unifica la forma de pago del IRPF y se deducen distintas proporciones del IRPF según los ingresos mensuales:

 Ingreso mensual 5000 yuanes, impuesto sobre la renta: 0 yuanes.

 5000<ingreso mensual⩽15000, impuesto sobre la renta: ingreso mensual*5%.

 15.000<ingreso mensual, impuesto sobre la renta: ingreso mensual*20%.

Se requiere escribir 5 clases, a saber: clase abstracta Empleado, clase administrador Admin, clase vendedor
Clase vendedor y trabajador, y escribir clase de demostración SalayDemo para pruebas.

Se requiere que estas clases se coloquen en el paquete cn.edu.gpnu.company.

【Objetivo del caso】

 Aprenda a analizar las ideas lógicas para realizar la tarea de "calcular los salarios de los empleados".

 Capaz de completar de forma independiente la redacción, compilación y operación del código fuente del programa "calcular el salario de los empleados".

 Dominar los puntos de conocimiento de la herencia en Java.

 Dominar la escritura y el uso de clases abstractas y métodos abstractos.

[Resultados de la ejecución]
Insertar descripción de la imagen aquí
[Código de ejecución]
1.

package cn.edu.gpnu.bank.company;

class Admin extends Employee {
    
    
    double bonus;

    public Admin(String name, String type, String department, double basicSalary, double bonus) {
    
    
        super(name, type, department, basicSalary);
        this.bonus = bonus;
    }

    public double getBonus() {
    
    
        return bonus;
    }

    public void setBonus(double bonus) {
    
    
        this.bonus = bonus;
    }

    public double getIncome(){
    
    
        return (getBasicSalary()+getBonus());
    }
}

package cn.edu.gpnu.bank.company;

abstract public class Employee {
    
    
    String name;
    String type;
    String department;
    double basicSalary;

    public Employee(String name, String type, String department, double basicSalary) {
    
    
        this.name = name;
        this.type = type;
        this.department = department;
        this.basicSalary = basicSalary;
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public String getType() {
    
    
        return type;
    }

    public void setType(String type) {
    
    
        this.type = type;
    }

    public String getDepartment() {
    
    
        return department;
    }

    public void setDepartment(String department) {
    
    
        this.department = department;
    }

    public double getBasicSalary() {
    
    
        return basicSalary;
    }

    public void setBasicSalary(double basicSalary) {
    
    
        this.basicSalary = basicSalary;
    }

    abstract public double getIncome();

    public double getTax(){
    
    
        double income = getIncome();
        if(income<=5000)
        {
    
    
            return 0;
        }
        if(income>5000 && income<=15000)
        {
    
    
            return income*0.05;
        }
        else
        {
    
    
            return income * 0.2;
        }
    }

    public String info(){
    
    
        return"姓名:"+this.name+",类型:"+this.type+",部门:"+this.department
                +",月收入:"+getIncome()+"元,所得税:"+getTax()+"元,实发工资:"
                +(getIncome()-getTax())+"元";

    }


}

package cn.edu.gpnu.bank.company;

class Salesman extends Employee {
    
    
    double saleAmount;
    double rate;

    public Salesman(String name, String type, String department, double basicSalary, double saleAmount, double rate) {
    
    
        super(name, type, department, basicSalary);
        this.saleAmount = saleAmount;
        this.rate = rate;
    }

    public double getSaleAmount() {
    
    
        return saleAmount;
    }

    public void setSaleAmount(double saleAmount) {
    
    
        this.saleAmount = saleAmount;
    }

    public double getRate() {
    
    
        return rate;
    }

    public void setRate(double rate) {
    
    
        this.rate = rate;
    }

    public double getIncome() {
    
    
        return (getBasicSalary()+getSaleAmount()*getRate());
    }
}

package cn.edu.gpnu.bank.company;

class Worker extends Employee {
    
    
    double overtimePay;

    public Worker(String name, String type, String department, double basicSalary, double overtimePay) {
    
    
        super(name, type, department, basicSalary);
        this.overtimePay = overtimePay;
    }

    public double getOvertimePay() {
    
    
        return overtimePay;
    }

    public void setOvertimePay(double overtimePay) {
    
    
        this.overtimePay = overtimePay;
    }

    public double getIncome() {
    
    
        return (getBasicSalary()+getOvertimePay());
    }
}

package cn.edu.gpnu.bank.company;

public class SalayDemo {
    
    
    public static void main(String[] args) {
    
    
        Admin admin = new Admin("张三", "管理员",
                "研发部", 14000, 5600);

        Salesman salesman = new Salesman("李四", "销售员",
                "天河销售部", 6000, 98900, 0.03);

        Worker worker = new Worker("王五", "工人",
                "南沙制造场", 2500, 1350);

        System.out.println(admin.info());
        System.out.println(salesman.info());
        System.out.println(worker.info());

    }
}

Supongo que te gusta

Origin blog.csdn.net/m0_52703008/article/details/126200732
Recomendado
Clasificación