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:
- Bài thực hành 4: nhập danh sách sinh viên trong Java
- Bài thực hành 5: Viết chương trình tính diện tích chu vi hình chữ nhật java
- Bài thực hành 7: chương trình quản lý điểm và đoạn thẳng trong không gian java
- Bài thực hành 6: Nhập xuất danh sách công nhân kiểu mảng
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ả
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