- 인터페이스 활용
EmManage (인터페이스)
import Data.FixedTerm;
import Data.PartTime;
import Data.Permanent;
public interface EmManage {
public void allSelect(Permanent[] per, FixedTerm[] ft, PartTime[] pt); // 전체 조회
public void empSelect(Permanent[] per, FixedTerm[] ft, PartTime[] pt); // 개인 조회
public void empCreate(Permanent[] per, FixedTerm[] ft, PartTime[] pt); // 사원 추가
public void empUpdate(Permanent[] per, FixedTerm[] ft, PartTime[] pt); // 사원 수정
public void empDelete(Permanent[] per, FixedTerm[] ft, PartTime[] pt); // 사원 삭제
public int selectMenu(Permanent[] per, FixedTerm[] ft, PartTime[] pt); // 메뉴선택
public void menuPrint(); // 메뉴출력
public int adminPrint(); // 초기화면 출력
}
EmployeeManage (인터페이스 오버라이딩 작성)
import java.util.Scanner;
import Data.FixedTerm;
import Data.PartTime;
import Data.Permanent;
// 기능(관리)
public class EmployeeManage implements EmManage {
private int index1;
private int index2; // ft 기간제
private int index3; // pt 시간제
private int cnt1;
private int cnt2;
private int cnt3;
public EmployeeManage() {
index1 = 0;
index2 = 0;
index3 = 0;
cnt1 = 0;
cnt2 = 0;
cnt3 = 0;
}
@Override
public int adminPrint() {
Scanner sc = new Scanner(System.in);
System.out.println("모드를 선택하세요. ");
System.out.println("1. 관리자 2. 일반 3. 종료");
System.out.print("입력 : ");
int p = sc.nextInt();
switch(p) {
case 1:
System.out.print("비밀번호 입력 : ");
p = sc.nextInt();
if(p == 1234) { // 관리자 (팀장 과장)
return 1;
}
else { // 일반
System.out.println("비밀번호가 틀렸습니다. 사원조회 화면으로 전환됩니다.");
return 2;
}
case 2: return 2; // 일반
case 3: return 3; // end
default:
System.out.println("다시 입력하세요.");
return 0;
}
}
@Override
public void menuPrint() {
System.out.println("--- 급여 관리 프로그램 --- ");
System.out.println("1. 사원 전체 조회");
System.out.println("2. 사원 조회");
System.out.println("3. 부서 조회");
System.out.println("4. 사원 추가");
System.out.println("5. 사원 수정");
System.out.println("6. 사원 삭제");
System.out.println("7. 종료");
}
@Override
public int selectMenu(Permanent[] per, FixedTerm[] ft, PartTime[] pt) {
System.out.println();
System.out.print("원하는 메뉴의 번호를 입력하세요 : ");
Scanner sc = new Scanner(System.in);
int check = sc.nextInt();
// sc.close();
switch(check) {
case 1: // 사원 전체 조회
allSelect(per, ft, pt);
break;
case 2: // 사원 조회
empSelect(per, ft, pt);
break;
case 3: // 부서 조회 (미개발)
deptSelect(per);
break;
case 4: // 사원 추가
empCreate(per, ft, pt);
break;
case 5: // 사원 수정
empUpdate(per, ft, pt);
break;
case 6: // 사원 삭제
empDelete(per, ft, pt);
break;
case 7: // 종료
System.out.println("종료되었습니다.");
return 0;
default:
System.out.print("올바른 번호를 입력하세요.");
}
return 1;
}
@Override
public void allSelect(Permanent[] per, FixedTerm[] ft, PartTime[] pt) {
// 정규직
int count1 = 0;
int count2 = 0;
int count3 = 0;
boolean s = false;
System.out.println("----------- 정규직 -----------");
for(int i=0; i<index1; i++) { // 사원전체출력
if(per[i].getName() != null) {
count1 += 1;
System.out.println(count1 + ". 사번 : " + per[i].getCf() + per[i].getEmpNo());
System.out.println(count1 + ". 부서 : " + per[i].getDept());
System.out.println(count1 + ". 직급 : " + per[i].getPosition());
System.out.println(count1 + ". 이름 : " + per[i].getName());
System.out.println(count1 + ". 성과급 : " + per[i].getIncentive());
System.out.println(count1 + ". 급여 : " + per[i].getSal());
if(per[i].getPosition().equals("과장")) {
System.out.println(count1 + ". 과장 총급여 : " + (int)((per[i].getSal() + per[i].getIncentive()+(per[i].getSal()*0.5))));
}
else if(per[i].getPosition().equals("팀장")) {
System.out.println(count1 + ". 팀장 총급여 : " + (int)((per[i].getSal() + per[i].getIncentive()+(per[i].getSal()*0.4))));
}
else if(per[i].getPosition().equals("대리")) {
System.out.println(count1 + ". 대리 총급여 : " + (int)((per[i].getSal() + per[i].getIncentive()+(per[i].getSal()*0.3))));
}
else if(per[i].getPosition().equals("사원")) {
System.out.println(count1 + ". 사원 총급여 : " + (int)((per[i].getSal() + per[i].getIncentive()+(per[i].getSal()*0.2))));
}
System.out.println();
// 총급여
s = true;
}
}
// 시간제
System.out.println("----------- 시간제 -----------");
for(int i=0; i<index3; i++) {
if(pt[i].getName() != null) {
count2 += 1;
System.out.println(count2 + ". 사번 : " + pt[i].getCf() + pt[i].getEmpNo());
System.out.println(count2 + ". 이름 : " + pt[i].getName());
System.out.println(count2 + ". 시간 : " + pt[i].getWorkTime());
System.out.println(count2 + ". 추가수당 : " + (int)(pt[i].getSal()*pt[i].getExtraSal()));
System.out.println(count2 + ". 기본급여 : " + pt[i].getSal()*pt[i].getWorkTime());
System.out.println(count2 + ". 총급여 : " + (int)((pt[i].getSal() * pt[i].getWorkTime()) + ((pt[i].getSal()*pt[i].getExtraSal()))));
System.out.println();
s = true;
}
}
// 기간제
System.out.println("----------- 기간제 -----------");
for(int i=0; i<index2; i++) {
if(ft[i].getName() != null) {
count3 += 1;
System.out.println(count3 + ". 사번 : " + ft[i].getCf() + ft[i].getEmpNo());
System.out.println(count3 + ". 이름 : " + ft[i].getName());
System.out.println(count3 + ". 기간 : " + ft[i].getWorkTerm());
System.out.println(count3 + ". 추가수당 : " + (int)(ft[i].getSal()*ft[i].getExtraSal()));
System.out.println(count3 + ". 기본급여 : " + ft[i].getSal()*ft[i].getWorkTerm());
System.out.println(count3 + ". 총급여 : " + (int)((ft[i].getWorkTerm()*ft[i].getSal()) + (ft[i].getSal()*ft[i].getExtraSal())));
System.out.println();
s = true;
}
}
if(s == false) {
System.out.println("사원이 존재하지 않습니다. ");
}
System.out.println();
}
@Override
public void empSelect(Permanent[] per, FixedTerm[] ft, PartTime[] pt) { // 사원 조회
// 1이 들어오면 관리자
// 2가 들어오면 사용자
char c = 0;
Scanner sc = new Scanner(System.in);
System.out.println("--------------------------");
do {
System.out.println("A 정규직 B 기간제 C 시간제 4. 종료"); // 정규 1, 비정규 2
System.out.print(" 입력 : ");
char che = sc.next().charAt(0);
switch(che) {
case 'A': // 정규직 1(cf)
System.out.print("찾으실 사원번호를 입력하세요. : ");
int a = sc.nextInt();
int a1 = 0;
for(int i=0;i<index1;i++) {
if(per[i].getEmpNo() == a) {
System.out.println("사번 : " + per[i].getCf() + per[i].getEmpNo());
System.out.println("부서 : " + per[i].getDept());
System.out.println("직급 : " + per[i].getPosition());
System.out.println("이름 : " + per[i].getName());
System.out.println("성과급 : " + per[i].getIncentive());
System.out.println("급여 : " + per[i].getSal());
if(per[i].getPosition().equals("과장")) {
System.out.println("과장 총급여 : " + (int)((per[i].getSal() + per[i].getIncentive()+(per[i].getSal()*0.5))));
}
else if(per[i].getPosition().equals("팀장")) {
System.out.println("팀장 총급여 : " + (int)((per[i].getSal() + per[i].getIncentive()+(per[i].getSal()*0.4))));
}
else if(per[i].getPosition().equals("대리")) {
System.out.println("대리 총급여 : " + (int)((per[i].getSal() + per[i].getIncentive()+(per[i].getSal()*0.3))));
}
else if(per[i].getPosition().equals("사원")) {
System.out.println("사원 총급여 : " + (int)((per[i].getSal() + per[i].getIncentive()+(per[i].getSal()*0.2))));
}
System.out.println();
a1 = 1;
break; // 포문을 풀로 돌리지않게 해보기
}
}
if(a1 == 0) {
System.out.println("사원 정보가 존재하지 않습니다.");
}
break;
case 'B': // 기간제
System.out.print("찾으실 사원번호를 입력하세요. : ");
int b = sc.nextInt();
int b1 = 0;
for(int i=0;i<index2;i++) {
if(ft[i].getEmpNo() == b) {
System.out.println("사번 : " + ft[i].getCf() + ft[i].getEmpNo());
System.out.println("이름 : " + ft[i].getName());
System.out.println("기간 : " + ft[i].getWorkTerm());
System.out.println("추가수당 : " + (int)(ft[i].getSal()*ft[i].getExtraSal()));
System.out.println("기본급여 : " + ft[i].getSal()*ft[i].getWorkTerm());
System.out.println("총급여 : " + (int)((ft[i].getWorkTerm()*ft[i].getSal()) + (ft[i].getSal()*ft[i].getExtraSal())));
System.out.println();
b1 = 1;
break;
}
}
if(b1 == 0) {
System.out.println("사원 정보가 존재하지 않습니다.");
}
break;
case 'C': // 시간제
System.out.print("찾으실 사원번호를 입력하세요. : ");
int d = sc.nextInt();
int d1 = 0;
for(int i=0;i<index3;i++) {
if(pt[i].getEmpNo() == d) {
System.out.println("사번 : " + pt[i].getCf() + pt[i].getEmpNo());
System.out.println("이름 : " + pt[i].getName());
System.out.println("시간 : " + pt[i].getWorkTime());
System.out.println("추가수당 : " + (int)(pt[i].getSal()*pt[i].getExtraSal()));
System.out.println("기본급여 : " + pt[i].getSal()*pt[i].getWorkTime());
System.out.println("총급여 : " + (int)((pt[i].getSal() * pt[i].getWorkTime()) + ((pt[i].getSal()*pt[i].getExtraSal()))));
System.out.println();
d1 = 1;
break;
}
}
if(d1 == 0) {
System.out.println("사원 정보가 존재하지 않습니다.");
}
case '4': // 종료
c = che;
break;
default:
System.out.print("올바른 번호를 입력하세요.");
}
}while(c != '4');
}
public void deptSelect(Permanent[] per) { // 부서 조회 (정규직만)
// 위와 동일
Scanner sc = new Scanner(System.in);
String deptest;
if(index1 == 0) {
System.out.println("사원이 존재하지 않습니다.");
}
else {
do {
System.out.print("검색할 부서를 입력하세요 (종료n): ");
deptest = sc.next();
System.out.println("-------" + deptest + "-------");
for(int i=0;i<index1;i++) {
if(per[i].getDept().equals(deptest)) {
System.out.println((i+1) + ". 사번 : " + per[i].getCf() + per[i].getEmpNo());
System.out.println((i+1) + ". 이름 : " + per[i].getName());
System.out.println((i+1) + ". 직급 : " + per[i].getPosition());
System.out.println((i+1) + ". 성과 : " + per[i].getIncentive());
System.out.println((i+1) + ". 급여 : " + per[i].getSal());
System.out.println();
}
}
}while(!deptest.equals("n"));
}
}
@Override
public void empCreate(Permanent[] per, FixedTerm[] ft, PartTime[] pt) { // 사원 추가
Scanner sc = new Scanner(System.in);
int c;
// while문 추가
do {
System.out.println();
System.out.println("1. 정규직 2. 기간제 3. 시간제 4. 종료 ");
System.out.print("번호를 입력하세요. : ");
c = sc.nextInt();
switch(c) {
case 1: // index1
if(index1 == per.length) { // 인덱스 비교
System.out.println("사원을 추가할 수 없습니다. ");
}
else {
System.out.print("추가할 사원의 수를 입력하세요. : ");
this.cnt1 = sc.nextInt();
System.out.println();
if(index1+cnt1 > per.length) {
System.out.println("최대 사원수를 넘어갑니다. \n다시 입력하세요.");
}
else {
for(int i=0;i<cnt1;i++) {
per[index1] = new Permanent();
// 사번 자동부여
System.out.println("사원 정보를 입력하세요. 정규직은 A이며 사원번호가 자동 부여됩니다. ");
per[index1].setCf("A"); // 구분
per[index1].setEmpNo(index1 + 1); // 사원번호 : 1번부터 자동부여 되도록
// 입력정보
System.out.print((i+1) + "번 사원 이름 : ");
per[index1].setName(sc.next()); //이름
System.out.print((i+1) + "번 사원 부서 : ");
per[index1].setDept(sc.next()); // 부서
System.out.print((i+1) + "번 사원 직급 : ");
per[index1].setPosition(sc.next()); // 직급
System.out.print((i+1) + "번 사원 성과급 : ");
per[index1].setIncentive(sc.nextInt()); // 인센티브
System.out.print((i+1) + "번 사원 급여 : ");
per[index1].setSal(sc.nextInt()); // 급여
System.out.println();
index1++;
}
}
}
break;
case 2: // 기간제 index2
if(index2 == ft.length) { // 인덱스 비교
System.out.println("사원을 추가할 수 없습니다. ");
}
else {
System.out.print("추가할 사원의 수를 입력하세요. : ");
this.cnt2 = sc.nextInt();
System.out.println();
if(index2+cnt2 > ft.length) {
System.out.println("최대 사원수를 넘어갑니다. \n다시 입력하세요.");
}
else {
for(int i=0;i<cnt2;i++) {
ft[index2] = new FixedTerm();
// 사번 자동부여
System.out.println("사원 정보를 입력하세요. 비정규[기간제]는 B이며 사원번호가 자동 부여됩니다. ");
ft[index2].setCf("B"); // 구분
ft[index2].setEmpNo(index2 + 1); // 사원번호 : 1번부터 자동부여 되도록
// 입력정보
System.out.print((i+1) + "번 비정규 이름 : ");
ft[index2].setName(sc.next()); //이름
System.out.print((i+1) + "번 비정규 추가수당(최대 100%) : ");
ft[index2].setExtraSal(sc.nextInt());
System.out.print((i+1) + "번 비정규 일한기간 : ");
ft[index2].setWorkTerm(sc.nextInt());
System.out.print((i+1) + "번 비정규 일당 : ");
ft[index2].setSal(sc.nextInt()); // 급여
System.out.println();
index2++;
}
}
}
break;
case 3: // 시간제 index3
if(index3 == pt.length) { // 인덱스 비교
System.out.println("사원을 추가할 수 없습니다. ");
}
else {
System.out.print("추가할 사원의 수를 입력하세요. : ");
this.cnt3 = sc.nextInt();
System.out.println();
if(index3+cnt3 > pt.length) {
System.out.print("최대 사원수를 넘어갑니다. \n다시 입력하세요.");
}
else {
for(int i=0;i<cnt3;i++) {
pt[index3] = new PartTime();
// 사번 자동부여
System.out.println("사원 정보를 입력하세요. 비정규[시간제]는 C이며 사원번호가 자동 부여됩니다. ");
pt[index3].setCf("C"); // 구분
pt[index3].setEmpNo(index3 + 1); // 사원번호 : 1번부터 자동부여 되도록
// 입력정보
System.out.print((i+1) + "번 비정규 이름 : ");
pt[index3].setName(sc.next()); //이름
System.out.print((i+1) + "번 비정규 추가수당(최대 100%) : ");
pt[index3].setExtraSal(sc.nextInt());
System.out.print((i+1) + "번 비정규 일한시간 : ");
pt[index3].setWorkTime(sc.nextInt());
System.out.print((i+1) + "번 비정규 시급 : ");
pt[index3].setSal(sc.nextInt()); // 급여
System.out.println();
index3++;
}
}
}
break;
case 4:
break;
default:
System.out.println("다시 입력하세요. ");
break;
}
}while(c != 4);
}
@Override
public void empUpdate(Permanent[] per, FixedTerm[] ft, PartTime[] pt) { // 사원 수정
Scanner sc = new Scanner(System.in);
int up;
System.out.println();
do {
System.out.println("수정할 사원의 종류 번호를 선택하세요. ");
System.out.println("1. 정규직 2. 기간제 3. 시간제 4. 종료");
System.out.print("입력 : ");
up = sc.nextInt();
switch(up) {
case 1: // 이름 부서 직급 인센 급여
// 정규직
if(index1 == 0) { // 인덱스 비교
System.out.println("수정할 사원이 없습니다. ");
}
else {
System.out.print("수정할 사원번호를 입력하세요 : ");
up = sc.nextInt();
for(int i=0;i<index1;i++) {
if(per[i].getEmpNo() == up) { // 해당되는 사원번호 체크 조건문
do {
System.out.println("수정하실 필드명을 선택하세요. ");
System.out.print("1. 이름 2. 부서 3. 직급 4. 성과급 5. 급여 (종료 : 6) : ");
up = sc.nextInt();
System.out.println();
switch (up) {
case 1:
System.out.print("수정할 이름 입력 : ");
per[i].setName(sc.next());
System.out.println();
break;
case 2:
System.out.print("수정할 부서 입력 : ");
per[i].setDept(sc.next());
System.out.println();
break;
case 3:
System.out.print("수정할 직급 입력 : ");
per[i].setPosition(sc.next());
System.out.println();
break;
case 4:
System.out.print("수정할 성과급 입력 : ");
per[i].setIncentive(sc.nextInt());
System.out.println();
break;
case 5:
System.out.print("수정할 급여 입력 : ");
per[i].setSal(sc.nextInt());
System.out.println();
break;
case 6:
break;
default:
System.out.println("올바른 필드명을 입력하세요. ");
break;
}
}while(up != 6);
}
break;
}
}
break;
case 2: // 이름 추가수당 일한기간 급여
// 기간제
if(index2 == 0) { // 인덱스 비교
System.out.println("수정할 사원이 없습니다. ");
}
else {
System.out.print("수정할 사원번호를 입력하세요 : ");
up = sc.nextInt();
for(int i=0;i<index2;i++) {
if(ft[i].getEmpNo() == up) { // 해당되는 사원번호 체크 조건문
do {
System.out.println("수정하실 필드명을 선택하세요. ");
System.out.print("1. 이름 2. 추가수당 3. 일한기간 4. 급여 (종료 : 5) : ");
up = sc.nextInt();
System.out.println();
switch (up) {
case 1:
System.out.print("수정할 이름 입력 : ");
ft[i].setName(sc.next());
System.out.println();
break;
case 2:
System.out.print("수정할 추가수당 입력 (최대 100%): ");
ft[i].setExtraSal(sc.nextInt());
System.out.println();
break;
case 3:
System.out.print("수정할 기간 입력 : ");
ft[i].setWorkTerm(sc.nextInt());
System.out.println();
break;
case 4:
System.out.print("수정할 일당 입력 : ");
ft[i].setSal(sc.nextInt());
System.out.println();
break;
case 5:
break;
default:
System.out.println("올바른 필드명을 입력하세요. ");
break;
}
}while(up != 5);
}
break;
}
}
break;
case 3: // 이름 추가수당 일한기간 일한시간 급여
// 시간제
if(index3 == 0) { // 인덱스 비교
System.out.println("수정할 사원이 없습니다. ");
}
else {
System.out.print("수정할 사원번호를 입력하세요 : ");
up = sc.nextInt();
for(int i=0;i<index3;i++) {
if(pt[i].getEmpNo() == up) { // 해당되는 사원번호 체크 조건문
do {
System.out.println("수정하실 필드명을 선택하세요. ");
System.out.print("1. 이름 2. 추가수당 3. 일한시간 4. 급여 (종료 : 5) : ");
up = sc.nextInt();
System.out.println();
switch (up) {
case 1:
System.out.print("수정할 이름 입력 : ");
pt[i].setName(sc.next());
System.out.println();
break;
case 2:
System.out.print("수정할 추가수당 입력 (최대 100%) : ");
pt[i].setExtraSal(sc.nextInt());
System.out.println();
break;
case 3:
System.out.print("수정할 시간 입력 : ");
pt[i].setWorkTime(sc.nextInt());
System.out.println();
break;
case 4:
System.out.print("수정할 시급 입력 : ");
pt[i].setSal(sc.nextInt());
System.out.println();
break;
case 5:
break;
default:
System.out.println("올바른 필드명을 입력하세요. ");
break;
}
}while(up != 5);
}
break;
}
}
break;
case 4:
break;
default:
System.out.println("올바른 번호를 입력하세요. ");
break;
}
}while(up != 4);
}
@Override
public void empDelete(Permanent[] per, FixedTerm[] ft, PartTime[] pt) {
int num;
Scanner sc = new Scanner(System.in);
Permanent tmp1 = new Permanent();
PartTime tmp2 = new PartTime();
FixedTerm tmp3 = new FixedTerm();
do {
int cnt = 0; // 시작점 체크
int snum = 0; // null 값 체크
int k = 0;
System.out.println("삭제할 사원의 종류를 선택하세요. ");
System.out.println("1. 정규직 2. 시간제 3. 기간제 4. 종료");
System.out.print("입력 : ");
num = sc.nextInt();
switch (num) {
//// Try catch 문 작성
// try {
// }catch(Exception e) {
// }
case 1: // 정규직
if(index1 == 0) { // 인덱스 비교
System.out.println("삭제할 인원이 없습니다. ");
}
else {
try {
do {
System.out.print("삭제할 사원의 번호를 입력하세요 (종료:0) : ");
num = sc.nextInt();
for(int i=0;i<index1;i++) {
if(per[i].getEmpNo() == num) {
per[i] = new Permanent();
break;
}
}
}while(num != 0);
}catch(Exception e){}
// 배열정리
for(int i=0;i<=index1-1;i++) {
if(per[i].getName() == null) {
snum++;
}
}
while(k<snum) {
for(int i=0;i<=index1-1;i++) {
if(per[i].getName() == null) {
cnt = i;
break;
}
}
for(int i=cnt;i<=index1-1;i++) {
tmp1 = per[i+1];
per[i+1] = per[i];
per[i] = tmp1;
}
k++;
}
index1 -= snum;
// 사원번호 재부여
for(int i=0;i<index1;i++) {
per[i].setEmpNo(i + 1);
}
}
break;
case 2: // 시간제
if(index3 == 0) { // 인덱스 비교
System.out.println("삭제할 인원이 없습니다. ");
}
else {
try {
do {
System.out.print("삭제할 사원의 번호를 입력하세요 (종료:0) : ");
num = sc.nextInt();
for(int i=0;i<index3;i++) {
if(pt[i].getEmpNo() == num) {
pt[i] = new PartTime();
break;
}
}
}while(num != 0);}catch(Exception e) {}
// 배열정리
for(int i=0;i<=index3-1;i++) {
if(pt[i].getName() == null) {
snum++;
}
}
while(k<snum) {
for(int i=0;i<=index3-1;i++) {
if(pt[i].getName() == null) {
cnt = i;
break;
}
}
for(int i=cnt;i<=index3-1;i++) {
tmp2 = pt[i+1];
pt[i+1] = pt[i];
pt[i] = tmp2;
}
k++;
}
index3 -= snum;
// 사원번호 재부여
for(int i=0;i<index3;i++) {
pt[i].setEmpNo(i + 1);
}
}
break;
case 3: // 기간제 index2; // ft 기간제
if(index2 == 0) { // 인덱스 비교
System.out.println("삭제할 인원이 없습니다. ");
}
else {
try {
do {
System.out.print("삭제할 사원의 번호를 입력하세요 (종료:0) : ");
num = sc.nextInt();
for(int i=0;i<index2;i++) {
if(ft[i].getEmpNo() == num) {
ft[i] = new FixedTerm();
break;
}
}
}while(num != 0);}catch(Exception e) {}
// 배열정리
for(int i=0;i<=index2-1;i++) {
if(ft[i].getName() == null) {
snum++;
}
}
while(k<snum) {
for(int i=0;i<=index2-1;i++) {
if(ft[i].getName() == null) {
cnt = i;
break;
}
}
for(int i=cnt;i<=index2-1;i++) {
tmp3 = ft[i+1];
ft[i+1] = ft[i];
ft[i] = tmp3;
}
k++;
}
index2 -= snum;
// 사원번호 재부여
for(int i=0;i<index2;i++) {
ft[i].setEmpNo(i + 1);
}
}
break;
case 4: // 종료
break;
default:
System.out.println("올바른 번호를 입력하세요. ");
break;
}
}while(num != 4);
}
}
반응형
'자바과정 > 과제물' 카테고리의 다른 글
HTML 과제 : 상대경로와 절대경로 (0) | 2021.02.25 |
---|---|
(Java) GUI 계산기 [연산은 한번] (0) | 2021.02.17 |
(Java) 스택&큐 [예외처리] (0) | 2021.02.15 |
(Java) 급여 관리 프로그램 [팀] (0) | 2021.02.13 |
(Java) 성적처리프로그램(3차원 배열사용) (0) | 2021.02.02 |
댓글