class Sawon{
private String name;
private int pay;
private int sudang;
private static String empName; //회사는 공통이기에 static으로
//8개의 worker메서드 (setter,getter)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPay() {
return pay;
}
public void setPay(int pay) {
this.pay = pay;
}
public int getSudang() {
return sudang;
}
public void setSudang(int sudang) {
this.sudang = sudang;
}
public static String getEmpName() {
return empName;
}
public static void setEmpName(String empName) {
Sawon.empName = empName;
}
//실수령액을 계산해서 리턴해주는 메서드 만들기
//10% 제외한 나머지
public int getNetPay() {
int money=(int)((pay+sudang)*0.9); //형변환
return money;
}
}
public class ScannerArrayEx5 {
//출력메서드 여기에서 해보기
//다른 클래스에서 출력하려면 변수값을 하나하나 다 해줘야하는데 캡슐화(sawon s)를 해서 편하게 하기
public static void getsawon(Sawon s) {
System.out.println(s.getName()+"\t"+s.getPay()+"\t"+s.getSudang()+"\t"+s.getNetPay());
//위에서였다면 this.으로 시작
}
public static void main(String[] args) {
//출력
Scanner sc=new Scanner(System.in);
int inwon; //입력할 사원수
Sawon []sawon; //사원 객체 생성
String empName; //다니는 회사 이름
//for문에서 반복이 되어야 하는 건 name,pay,sudang
//회사는 하나이기에 반복할 필요 없음
System.out.println("회사이름입력");
empName=sc.nextLine();
//회사이름을 static멤버변수에 저장
Sawon.setEmpName(empName); //공동사용 static
System.out.println("총사원수 입력");
inwon=Integer.parseInt(sc.nextLine());
//inwon만큼 sawon배열 할당
sawon=new Sawon[inwon];
//입력
//범위 정확하기에 for문
for(int i=0;i<inwon;i++)
{
//객체생성
sawon[i]=new Sawon();
System.out.println("사원명 입력");
String name=sc.nextLine();
System.out.println("월급여 입력");
int pay=Integer.parseInt(sc.nextLine());
System.out.println("수당 입력");
int sudang=Integer.parseInt(sc.nextLine());
//사원 객체에 값 저장
sawon[i].setName(name);
sawon[i].setPay(pay);
sawon[i].setSudang(sudang);
}
//출력
System.out.println("회사명: "+Sawon.getEmpName());
System.out.println("사원명\t기본급\t수당\t실수령액");
for(Sawon s:sawon)
getsawon(s);
'JAVA' 카테고리의 다른 글
210817_추상클래스+다형성 (0) | 2021.08.17 |
---|---|
210813_상속 (0) | 2021.08.13 |
210813_클래스+배열(예제) (0) | 2021.08.13 |
210813_메서드 (0) | 2021.08.13 |
210813_오버로딩 (0) | 2021.08.13 |