갈림길 이정표

DTO 연습 본문

package pack1;

 

public class WorkDto {

	private String sabun, name;

	private int base,inyear;

	public String getSabun() {

		return sabun;

	}

	public void setSabun(String sabun) {

		this.sabun = sabun;

	}

	public String getName() {

		return name;

	}

	public void setName(String name) {

		this.name = name;

	}

	public int getBase() {

		return base;

	}

	public void setBase(int base) {

		this.base = base;

	}

	public int getInyear() {

		return inyear;

	}

	public void setInyear(int inyear) {

		this.inyear = inyear;

	}

	

	

}
package pack1;

 

import java.util.ArrayList;

import java.util.Calendar;

import java.util.StringTokenizer;

 

public class WorkDtoTest {

	ArrayList<WorkDto> list = new ArrayList<WorkDto>();

	

	void inputData(String[] datas) {

		for (int i = 0; i < datas.length; i++) {

			StringTokenizer tok = new StringTokenizer(datas[i],",");

			String sabun = tok.nextToken();

			String name = tok.nextToken();

			int base = Integer.parseInt(tok.nextToken());

			int inyear = Integer.parseInt(tok.nextToken());

			

			WorkDto dto = new WorkDto();

			dto.setSabun(sabun);

			dto.setName(name);

			dto.setBase(base);

			dto.setInyear(inyear);

			list.add(dto);

		}

	}

	

	void printData() {

		System.out.println("사번\t이름\t기본급\t근무년수\t근속수당\t공제액\t수령액");

		

		for (int i = 0; i < list.size(); i++) {

			WorkDto dto = new WorkDto();

			Calendar cal = Calendar.getInstance();

			dto = list.get(i);

			int yy=cal.get(cal.YEAR)-dto.getInyear();

			int su = 0;

			

			if (yy<=3) {

				su = 150000;//근속수당

				

			}else if(yy<=8) {

				su = 450000;

				

			}else {

				su = 1000000;

			}

			

			int k = dto.getBase()+su;

			double gong = 0;

			

			if (k>=3000000) {

				gong = k*0.005;

				

			}else if (k>=2000000) {

				gong = k * 0.003;

				

			}else {

				gong = k * 0.0015;

			}

			

			double sur = k-gong;

			

			System.out.println(dto.getSabun() + "\t" + dto.getName() + "\t" + dto.getBase() + "\t" + yy + "\t" + su + "\t" + gong + "\t" + sur);

		}

		

		System.out.println("처리 건수 : " + list.size() + " 건");

	}

	

 

	public static void main(String[] args) {

		//값 외부에서 받아서 결과 내기

		

		String[] datas = args;

		WorkDtoTest test = new WorkDtoTest();

		test.inputData(datas);

		test.printData();

 

	}

 

}
Comments