[Java] viết chương trình tính lương cho công nhân

Trong bài viết này, chúng ta sẽ tiếp tục phát triển lớp Congnhan đã được giới thiệu trong Bài 3, bằng cách thêm vào phương thức tinhLuong để viết chương trình tính lương cho công nhân java dựa trên lương cơ bản, hệ số lương, và mức phụ cấp.

Xem thêm:

1. Bài toán tính lương cho công nhân java

Bài 9: Thêm vào lớp Congnhan đã cho ở Bài 3 phương thức: tinhLuong(pc:float), Luong=lcb*hsl*(1+pc).

Viết chương trình:

  • Cài đặt lương cơ bản của công nhân = 1150, nhập vào danh sách N công nhân (0<=n<=20).
  • Nhập mức phụ cấp P.
  • Hiện danh sách công nhân với các thông tin: Họ tên, Hệ số lương, Lương(chương bao gồm phụ cấp), LươngS(gồm phụ cấp)
  • Tính tổng số tiền chênh lệch do chi trả phụ cấp.

2. Code

2.1 Lớp Congnhan

package bai9;

import java.util.Scanner;

public class CongNhan {
    float lcb=1150, hsl, luong=0, pc;

    public float getPc() {
        return pc;
    }

    public void setPc(float pc) {
        this.pc = pc;
    }
    String hoten;

    public float getLcb() {
        return lcb;
    }

    public void setLcb(float lcb) {
        this.lcb = lcb;
    }

    public float getHsl() {
        return hsl;
    }

    public void setHsl(float hsl) {
        this.hsl = hsl;
    }

    public String getHoten() {
        return hoten;
    }

    public void setHoten(String hoten) {
        this.hoten = hoten;
    }
    
    public void nhap(){
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhap ho ten: ");
        hoten=sc.nextLine();
        System.out.println("Nhap he so luong: ");
        hsl= sc.nextFloat();
        System.out.println("Nhap phu cap: ");
        pc=sc.nextFloat();
    }
    
    public float tinhLuongS(){
        return luong=lcb*hsl*(1+pc);
    }
    
    public float tinhLuongT(){
        return luong=lcb*hsl;
    }
    
    public void xuat(){
        System.out.printf("\n%25s%16.2f%12.2f%15.2f", hoten, hsl, tinhLuongT(), tinhLuongS());
    }
}

2.2 Lớp DanhSachCongNhan

package bai9;

import java.util.Scanner;

public class CongNhan {
    float lcb=1150, hsl, luong=0, pc;

    public float getPc() {
        return pc;
    }

    public void setPc(float pc) {
        this.pc = pc;
    }
    String hoten;

    public float getLcb() {
        return lcb;
    }

    public void setLcb(float lcb) {
        this.lcb = lcb;
    }

    public float getHsl() {
        return hsl;
    }

    public void setHsl(float hsl) {
        this.hsl = hsl;
    }

    public String getHoten() {
        return hoten;
    }

    public void setHoten(String hoten) {
        this.hoten = hoten;
    }
    
    public void nhap(){
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhap ho ten: ");
        hoten=sc.nextLine();
        System.out.println("Nhap he so luong: ");
        hsl= sc.nextFloat();
        System.out.println("Nhap phu cap: ");
        pc=sc.nextFloat();
    }
    
    public float tinhLuongS(){
        return luong=lcb*hsl*(1+pc);
    }
    
    public float tinhLuongT(){
        return luong=lcb*hsl;
    }
    
    public void xuat(){
        System.out.printf("\n%25s%16.2f%12.2f%15.2f", hoten, hsl, tinhLuongT(), tinhLuongS());
    }
}

2.3 Lớp main

package bai9;

import java.util.Scanner;


public class Bai9 {

    static void menu(){
        System.out.println("1. Nhap danh sach cong nhan");
        System.out.println("2. Xuat danh sach cong nhan");
        System.out.println("3. Tong so tien chenh lech so chi tra phu cap");
        System.out.println("0. Thoat");
    }
    public static void main(String[] args) {
        DanhSachCongNhan ds = new DanhSachCongNhan();
        int chon;
        do {            
            menu();
            Scanner sc= new Scanner(System.in);
            System.out.println("Lua chon: ");
            chon = sc.nextInt();
            switch(chon){
                case 1: ds.nhapDS(); break;
                case 2: ds.xuatDS();  break;
                case 3: ds.chenhLech(); break;
                case 0: System.exit(0); break;
                default: break;
            }
        } while (chon!=0);
    }
    
}

3. Kết quả

Danh sách công nhân

Như vậy, chúng ta đã tìm hiểu cách mở rộng lớp Congnhan bằng việc thêm vào phương thức tinhLuong, giúp tính toán lương của các công nhân dựa trên lương cơ bản, hệ số lương và mức phụ cấp. Cảm ơn bạn đã tham khảo trên ttnguyen.net

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em