Bài 6, Cho mô tả lớp congNhan(Công nhân) như sau:
lcb/float (lương cơ bản)
hsl/float(hệ số lương)
hoten/Srting(Họ tên)
setHsl(h:float):void
getHsl(): float
setHoten(ht:String):void
getHoten(): String
tinhLuong(): Float// Tính lương
Trong đó, phương thức tinhluong() hoạt động theo công công thức sau:
luong = lcb*hsl
Viết chương trình:
  • Xây dựng lớp congNhan theo mô tả trên
  • cài đặt lương cơ bản của công nhân = 1150
  • Nhập danh sách n công nhân (0<n<20)
  • Hiện danh sách vừa nhập ra màn hình với thông tin mỗi công nhân gồm: Họ tên, Hệ số lương, Lương.
  • Nhập vào số thực S.
  • Hiện danh sách công nhân có lương >S

Code đầy đủ:

Code từng phần:  

Tạo class CONGNHAN để quản lý thông tin từng công nhân

package BaiTH2.bai6;
import java.util.Scanner;
public class CONGNHAN {
public float lCB, hSL, luong;
public String hoTen;
public void nhapCN() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhap vao ho ten: ");
hoTen = sc.nextLine();
System.out.print("Nhap vao he so luong: ");
hSL = sc.nextFloat();
}
public void sethSL(float h) {
hSL = h;
}
public float gethSL() {
return hSL;
}
public void setHoTen(String ht) {
hoTen= ht;
}
public String getHoTen() {
return hoTen;
}
public float tinhLuong(float lCB) {
this.lCB = lCB;
luong = hSL*lCB;
return luong;
}
public void xuatCN() {
System.out.printf("%20s%15.2f%15.2f\n", hoTen, hSL, luong);
}
}

Tạo class DSCONGNHAN để quản lý việc nhập, xuất của n công nhân

package BaiTH2.bai6;
import java.util.*;
public class DSCONGNHAN {
ArrayList<CONGNHAN> cn;
public void nhapDS() {
Scanner input = new Scanner(System.in);
int i, n;
do {
System.out.print("\nNhap vao so cong nhan: ");
n = input.nextInt();
} while (n < 0 && n > 20);
cn = new ArrayList<>(n);
for (i = 0; i < n; i++) {
CONGNHAN x = new CONGNHAN();
System.out.printf("\nNhap cong nhan thu %d\n", i + 1);
x.nhapCN();
x.tinhLuong(1150);
cn.add(x);
}
}
public void xuatDS() {
System.out.println("Danh sach cong nhan: \n");
System.out.printf("%20s%15s%15s","Ho ten","HS luong", "luong\n");
for(CONGNHAN x:cn){
x.xuatCN();
}
}
public void luongS() {
float S;
Scanner sc = new Scanner(System.in);
System.out.print("\nNhap vao luong S can in danh sach: ");
S = sc.nextFloat();
System.out.printf("\nDanh sach cong nhan luong tren %f: \n", S);
System.out.printf("%20s%15s%15s","Ho ten","HS luong", "luong");
for(CONGNHAN x:cn) {
if(x.luong > S) {
x.xuatCN();
}
}
}
}

Cuối cùng, tạo class QLCONGNHAN chứa hàm main() để gọi các yêu cầu của bài toán. 

Tải code chi tiết ở đầu bài

Kết quả test