수업을 진행하면서 한 코드에 추가 기능을 구현 하는 것으로 놀숲 카페를 운영하는 코드이다.
기존 코드에 주문화면 구현하고 연결, 관리자 모드로 연결까지는 진행했는데 받은 주문이 12건이 되거나 주문을 처리했을 때 종료하는 부분이 잘 되지 않았다.
* Scanner로 입력한 정보에 따라 mainMenu에서 다음으로 이동하도록 짰기 때문에 다른 메서드는 호출하지 않음
while (screen.size < 12 || screen.getChoose() == 99)){
screen.mainMenu();
}
System.out.println("오늘 영업이 종료되었습니다.");
while (screen.size < 12 ){
screen.mainMenu();
if(screen.getChoose() == 99)
break;
}
System.out.println("오늘 영업이 종료되었습니다.");
if(screen.getChoose() != 99){
System.out.println("99.관리자 메뉴");
int choose = sc.nextInt();
if(choose == 99){
screen.admin();
}
}
문제에서 주문을 12개를 받거나 관리자 모드를 선택(= 주문처리)을 하는 경우을 생각하여 "screen.size < 12 || screen.getChoose() == 99" 을 했는데
|| &&을 조건으로 쓰면 true, false 하나를 반환하기 때문에 관리자모드 선택시 종료가 안되는 것이었다.
&&(and)
- 모두가 true인 경우에 true를 반환
- 하나라도 false가 있는 경우 false를 반환
||(or)
- 하나라도 true가 있는 경우 true를 반환
- 모두가 false인 경우에 false를 반환