Mình đang viết một chương trình, sắp hoàn thiện nó rồi, nhưng mình đang thắc mắc không biết làm sao để có nhể nạp 2 cái class Trưởng phòng và Tiếp thị vào cùng 1 ArrayList để khi mình xuất ra thì có thể xuất ra tất cả. Và lại như mình muốn tìm 1 người trong số 3 thằng này thì không lẽ phải đi tới từng đối tượng.?
Mình muốn gom toàn bộ vào ArrayList để có thể truy xuất dễ dàng. Hi vọng mòi người giúp đỡ. Mình cảm ơn… Đây là code của mình:
package Demo2;
import java.util.*;
public class QuanLyCongTy {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
NhanVien nv2 = new NhanVien();
Tiepthi TT = new Tiepthi();
TruongPhong TP = new TruongPhong();
int choise;
int chon;
int n;
do{
System.out.println("1. Nhập danh sách nhân viên hành chính");
System.out.println("2. Nhập danh sách nhân viên Tiếp thị");
System.out.println("3. Nhập danh sách nhân viên Trưởng phòng");
System.out.println("4. Xuất danh sách nhân viên");
choise = input.nextInt();
switch(choise){
case 1 :
System.out.println("Thêm thông tin: ");
System.out.println("số nhân viên bạn muốn nhập: ");
n = input.nextInt();
for(int i=0;i<n;i++){
nv2.nhap();
}
break;
case 2:
System.out.println("Thêm thông tin: ");
System.out.println("số nhân viên bạn muốn nhập: ");
n = input.nextInt();
for(int i=0;i<n;i++){
TT.nhap();
}
break;
case 3:
System.out.println("Thêm thông tin: ");
System.out.println("số nhân viên bạn muốn nhập: ");
n = input.nextInt();
for(int i=0;i<n;i++){
TP.nhap();
}
break;
case 4:
nv2.xuat();
TT.xuat();
TP.xuat();
break;
}
}while(choise !=0);
}
}
package Demo2;
import java.util.*;
public class NhanVien {
protected String Manv;
protected String Hoten;
protected double Luong;
Scanner input = new Scanner (System.in);
public NhanVien() {
}
ArrayList<NhanVien> nvien = new ArrayList<>();
NhanVien nhanvien;
public void nhap(){
System.out.println("Nhập mã nhân viên: ");
setManv(input.next());
System.out.println("Nhập tên nhân viên: ");
setHoten(input.next());
System.out.println("Nhập lương nhân viên: ");
setLuong(input.nextDouble());
nhanvien = new NhanVien(Manv, Hoten, Luong);
nvien.add(nhanvien);
}
public void xuat(){
for(int i=0;i<nvien.size();i++){
if(nvien.isEmpty()){
System.out.print("Không có thông tin");
}else{
System.out.println(nvien.get(i).toString());
}
}
}
public double Luongnv(){
return Luong;
}
public double ThueThuNhap(){
if(Luongnv()>= 9000 && Luongnv() <=15000)
return Luongnv()+0.1;
if(Luongnv() >15000)
return Luongnv()*0.12;
return Luongnv();
}
public String toString(){
return "| "+ "Nhân viên hành chính: " + "Tên: "+Hoten + " - " +"Mã nhân viên: " +Manv + " - "+"Lương: " +Luong + " - " +"Thu nhập: "+ Luongnv()+ " - "+ "Thuế thu nhập: " + ThueThuNhap() + "| ";
}
public NhanVien(String Manv, String Hoten, double Luong) {
this.Manv = Manv;
this.Hoten = Hoten;
this.Luong = Luong;
}
public String getManv() {
return Manv;
}
public void setManv(String Manv) {
this.Manv = Manv;
}
public String getHoten() {
return Hoten;
}
public void setHoten(String Hoten) {
this.Hoten = Hoten;
}
public double getLuong() {
return Luong;
}
public void setLuong(double Luong) {
this.Luong = Luong;
}
}
package Demo2;
import java.util.*;
public class Tiepthi extends NhanVien {
private double doanhso;
private double huehong;
public Tiepthi(){
}
@Override
public void nhap(){
super.nhap();
System.out.println("Nhập doanh số: ");
doanhso = new Scanner(System.in).nextDouble();
System.out.println("Nhập huê hồng: ");
huehong = new Scanner(System.in).nextDouble();
}
@Override
public double Luongnv(){
return (double) Luong+doanhso+huehong;
}
@Override
public double ThueThuNhap(){
return super.ThueThuNhap();
}
@Override
public String toString(){
return "| "+ "Nhân viên tiếp thị: " + "Tên: "+Hoten + " - " +"Mã nhân viên: " +Manv + " - " + "Lương: " +Luong + " - " + "Doanh số: "+doanhso+ " - " + "Huê Hồng: " + huehong + " - " + "Thu nhập: " + Luongnv() + "Thuế thu nhập: " + ThueThuNhap() + "| ";
}
@Override
public void xuat(){
super.xuat();
}
public Tiepthi(double doanhso, double huehong) {
this.doanhso = doanhso;
this.huehong = huehong;
}
public double getDoanhso() {
return doanhso;
}
public void setDoanhso(double doanhso) {
this.doanhso = doanhso;
}
public double getHuehong() {
return huehong;
}
public void setHuehong(double huehong) {
this.huehong = huehong;
}
}
package Demo2;
import java.util.*;
public class TruongPhong extends NhanVien {
private double trachnhiem;
public TruongPhong(){
}
@Override
public void nhap(){
super.nhap();
System.out.println("Nhập lương trách nhiệm: ");
trachnhiem = new Scanner(System.in).nextDouble();
}
@Override
public double Luongnv(){
return (double) Luong+trachnhiem;
}
@Override
public double ThueThuNhap(){
return super.ThueThuNhap();
}
@Override
public String toString(){
return "| "+ "Trưởng phòng: " + "Tên: "+Hoten + " - " +"Mã nhân viên: " +Manv + " - "+"Lương: " +Luong + " - " + "Trách nhiệm: "+trachnhiem + " - " + "Thu Nhập: " + Luongnv() + "| ";
}
@Override
public void xuat(){
super.xuat();
}
public TruongPhong(double trachnhiem) {
this.trachnhiem = trachnhiem;
}
public double getTrachnhiem() {
return trachnhiem;
}
public void setTrachnhiem(double trachnhiem) {
this.trachnhiem = trachnhiem;
}
}
Em cảm ơn nhiều ạ…!