티스토리 뷰
void modi(int no)
{
for(int i=0; i<bank.allmember.length; i++)
{
member mb=bank.allmember[i];
if(mb==null)
{
break;
}
if(mb.memno == no)
{
System.out.println("----------사원정보----------");
System.out.println("사원 번호 : "+mb.memno); //n주소값을 가진 mb의 memno
System.out.println("사원 이름 : "+mb.name); //n주소값을 가진 mb의 name
System.out.println("연차 갯수 : "+mb.holiday); //n의 주소값을 가진 mb의 holiday
System.out.println("직원 나이 : "+mb.age); //n 주소값을 가진 mb의 age
System.out.println("직원 부서 : "+mb.position); //n 주소값을 가진 mb의 position
System.out.println("-------------------------");
}
System.out.println("-------------------------");
System.out.println("수정하실 정보를 입력해주세요."); //n주소값을 가진 mb의 memno
System.out.println("1. 이름"); //n주소값을 가진 mb의 name
System.out.println("2. 연차수"); //n의 주소값을 가진 mb의 holiday
System.out.println("3. 직원부서"); //n 주소값을 가진 mb의 age
Scanner input=new Scanner(System.in);
Scanner input2=new Scanner(System.in);
int choice=input.nextInt(); //choice를 입력 받는다
switch(choice) //입력받은 choice의 값에 따라 다르게 실행
{
case 1:
System.out.println("이름을 입력해주세요!");
mb.name=input2.nextLine();
break;
case 2:
System.out.println("사용된 연차의 갯수를 입력해주세요!");
int minus=input.nextInt();
mb.holiday=mb.holiday-minus;
break;
case 3:
System.out.println("부서이름을 입력해주세요!");
mb.position=input2.nextLine();
break;
default:
System.out.println("잘못입력하였습니다.");
} //스위치 끝
} //for 끝
}
위의 코드는 mb.memno가 no의 값과 같으면 if문 밑으로 swirch 문 까지 실행하여 정보를 수정하는 목적으로 작성되었다.
하지만 코드에 한가지의 오류가 있다.
if(mb.memno==no) 구문을 들여다보면 if문 마지막에 중괄호가 닫혀 있는 것을 볼 수 있다.
위의 코드는 값이 같을 경우 실행하는 것을 목표로 하기 떄문에 if문을 switch문까지 실행해야하기 때문에 switch문이 끝난 후 중괄호를 닫아주어야한다.
void modi(int no)
{
for(int i=0; i<bank.allmember.length; i++)
{
member mb=bank.allmember[i];
if(mb==null)
{
break;
}
if(mb.memno == no)
{
System.out.println("----------사원정보----------");
System.out.println("사원 번호 : "+mb.memno); //n주소값을 가진 mb의 memno
System.out.println("사원 이름 : "+mb.name); //n주소값을 가진 mb의 name
System.out.println("연차 갯수 : "+mb.holiday); //n의 주소값을 가진 mb의 holiday
System.out.println("직원 나이 : "+mb.age); //n 주소값을 가진 mb의 age
System.out.println("직원 부서 : "+mb.position); //n 주소값을 가진 mb의 position
System.out.println("-------------------------");
System.out.println("-------------------------");
System.out.println("수정하실 정보를 입력해주세요."); //n주소값을 가진 mb의 memno
System.out.println("1. 이름"); //n주소값을 가진 mb의 name
System.out.println("2. 연차수"); //n의 주소값을 가진 mb의 holiday
System.out.println("3. 직원부서"); //n 주소값을 가진 mb의 age
Scanner input=new Scanner(System.in);
Scanner input2=new Scanner(System.in);
int choice=input.nextInt(); //choice를 입력 받는다
switch(choice) //입력받은 choice의 값에 따라 다르게 실행
{
case 1:
System.out.println("이름을 입력해주세요!");
mb.name=input2.nextLine();
break;
case 2:
System.out.println("사용된 연차의 갯수를 입력해주세요!");
int minus=input.nextInt();
mb.holiday=mb.holiday-minus;
break;
case 3:
System.out.println("부서이름을 입력해주세요!");
mb.position=input2.nextLine();
break;
default:
System.out.println("잘못입력하였습니다.");
} //스위치 끝
} //if 끝
} //for 끝
}
}
'코딩 > 오류 노트' 카테고리의 다른 글
생성자 호출 오류 (0) | 2023.10.23 |
---|---|
클래스명 중복 (0) | 2023.10.20 |
출력문 지시자 오류(%d, %n, %f, %c, %s, %b) (0) | 2023.10.17 |
함수명 일치 (0) | 2023.10.17 |
명령어 위치에 따른 오류 (0) | 2023.10.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday