JAVA

210813_스캐너+클래스+메서드

요옫 2021. 8. 13. 14:12

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