업무시간 때 졸려서 잠도 깰겸 재미삼아 만들어 봄.
1. 기본 년 단위이다.
2. 상여금을 포함해서 연봉 인상률에 적용하거나 상여금은 제외하고 적용할수도 있다.
3. 기본 인상율은 3%이고 상여금을 몇회 이상 받았을 경우 연봉 인상률이 1~3% 더 증가한다.
(상여금 수령여부는 그냥 랜덤으로 처리했다.)
4. 퇴직금은 퇴사하는 해의 평균월급을 산정해 일한 기간만큼 지급한다.
1. CLASS
import java.util.Scanner;
public class t0320_1124 {
static int moGu;
public static void main(String[] arg){
Scanner sc = new Scanner(System.in);
System.out.print("입사년도 (단위 년) : ");
int inYear = sc.nextInt();
System.out.print("초봉(단위 천만원) : ");
int mo = sc.nextInt();
System.out.print("상여금 포함여부(0:포함, 1:비포함) : ");
moGu = sc.nextInt();
System.out.print("근속 년수 (단위 년): ");
int year = sc.nextInt();
int nMo = 0;
int totMo = 0;
int totOut = 0;
for(int i = 0; i < year; i++){
int num[] = new int[12];
int j = 0;
int k = 0;
int addNum = 0;
nMo = 0;
System.out.println("\n" + (i + 1) + "년차 기본연봉 : " + mo + "만원");
while(j < 12){
int ran = (int)(Math.random() * 100 + 1);
// int ran = (int)(Math.random() * 4);
System.out.print("|" + (int)(j + 1) + "월| ");
// System.out.print("확율 : " + ran + "% "); // 매달 성과금 받을 확율.
if(ran >= 80){
num[j] = 50;
k++;
}else if(ran > 80 && ran <= 60){
num[j] = 30;
k++;
}else if(ran < 60 && ran > 40){
num[j] = 10;
k++;
}else{
num[j] = 0;
}
// System.out.println((i + 1) + "년 " + j + "월 순위 " + (num[j] == 0? "없음" : num[j]));
System.out.print("성과급 : " + (num[j] == 0? "없음" : (num[j]) + "만원") + ", ");
nMo += num[j];
j++;
if(j == 6){
System.out.println("");
}
}
addNum = (k < 5 ? 0 : (k < 7 && k >= 5) ? 1 : (k < 9 && k >= 7) ? 2 : 3);
try{
totMo += moGu == 0 ? (mo += nMo) : (moGu == 1 ? mo + nMo : null);
}catch(Exception e){
for (int l = 0; l < 100; l++) System.out.println();
System.err.print("연봉인상율에 상여금 포함여부는 '0'과 '1'만 입력 가능!");
return;
}
System.out.println("\n" + inYear + "년도 인센티브 : " + k + "회, 연봉증가율 " + (addNum + 3) + "% 증가(기본 3%), " + (i + 1) + "년차에 지급한 연봉 : " + (mo + (moGu == 1? nMo : 0)) + "만원");
if(i != year - 1){
mo += mo * ((3 + addNum) * 0.01);
}
inYear++;
}
totOut = ((moGu == 0 ? mo : (mo + nMo)) / 12) * year;
System.out.println("\n" + year + "년동안 받은 총 급여액 : " + totMo + "만원, 퇴사년도 : " + inYear + "년, 퇴직금 : " + totOut + "만원");
}
}
2. RUN
입사년도 (단위 년) : 2010
초봉(단위 천만원) : 3000
상여금 포함여부(0:포함, 1:비포함) : 1
근속 년수 (단위 년): 4
1년차 기본연봉 : 3000만원
|1월| 성과급 : 50만원, |2월| 성과급 : 없음, |3월| 성과급 : 50만원, |4월| 성과급 : 50만원, |5월| 성과급 : 50만원, |6월| 성과급 : 10만원,
|7월| 성과급 : 없음, |8월| 성과급 : 50만원, |9월| 성과급 : 50만원, |10월| 성과급 : 10만원, |11월| 성과급 : 없음, |12월| 성과급 : 없음,
2010년도 인센티브 : 8회, 연봉증가율 5% 증가(기본 3%), 1년차에 지급한 연봉 : 3320만원
2년차 기본연봉 : 3150만원
|1월| 성과급 : 없음, |2월| 성과급 : 10만원, |3월| 성과급 : 없음, |4월| 성과급 : 없음, |5월| 성과급 : 없음, |6월| 성과급 : 없음,
|7월| 성과급 : 50만원, |8월| 성과급 : 없음, |9월| 성과급 : 없음, |10월| 성과급 : 50만원, |11월| 성과급 : 없음, |12월| 성과급 : 없음,
2011년도 인센티브 : 3회, 연봉증가율 3% 증가(기본 3%), 2년차에 지급한 연봉 : 3260만원
3년차 기본연봉 : 3244만원
|1월| 성과급 : 없음, |2월| 성과급 : 50만원, |3월| 성과급 : 없음, |4월| 성과급 : 없음, |5월| 성과급 : 50만원, |6월| 성과급 : 없음,
|7월| 성과급 : 없음, |8월| 성과급 : 50만원, |9월| 성과급 : 없음, |10월| 성과급 : 없음, |11월| 성과급 : 50만원, |12월| 성과급 : 없음,
2012년도 인센티브 : 4회, 연봉증가율 3% 증가(기본 3%), 3년차에 지급한 연봉 : 3444만원
4년차 기본연봉 : 3341만원
|1월| 성과급 : 없음, |2월| 성과급 : 50만원, |3월| 성과급 : 없음, |4월| 성과급 : 10만원, |5월| 성과급 : 없음, |6월| 성과급 : 없음,
|7월| 성과급 : 50만원, |8월| 성과급 : 없음, |9월| 성과급 : 없음, |10월| 성과급 : 없음, |11월| 성과급 : 없음, |12월| 성과급 : 10만원,
2013년도 인센티브 : 4회, 연봉증가율 3% 증가(기본 3%), 4년차에 지급한 연봉 : 3461만원
4년동안 받은 총 급여액 : 13485만원, 퇴사년도 : 2014년, 퇴직금 : 1152만원
'course > 자바' 카테고리의 다른 글
간단한 가변인자 활용법. (0) | 2017.03.31 |
---|---|
지저분한 파일 Move (0) | 2017.02.26 |
객체 상속에 대한 간단한 예제.. (0) | 2016.10.12 |