코드 그라데이션
230327 무한루프 사용을 지양해야 하는 이유 본문
while(true) 하고 박아두고,
if(조건1) ~~~
뭐 요런 식으로 하면 가장 간편하긴 하다.
public static void main(String[] args) {
while (true) {
if (조건1) {
break;
}
if (조건2) {
continue;
}
if (조건3) {
continue;
}
}
그런데 이건 code smell 이라고 하여
매우 지저분한, 지양해야할 코드로 판단한다.
그래서 필요한 부분만 조건에 야무지게 걸어서 코드를 정돈하면,
훨씬 더 깔끔한 코드를 짤 수 있게 될 것이다.
여기에 강사님 설명을 덧붙이자면
두번째 질문은 break, continue를 많이 쓰면 소스가 지저분 해진다기 보다
무한루프에 break, continue 같은 구조로 만들기 때문에 생각을 해보는게 줄어 들 수 있어서
저는 그렇게 안짜는 거지 원래는 그렇게 구현해도 무방은 합니다.
문제는 그렇게 구현을 하셔도 됩니다.
저는 좀 더 더 생각을 할 수 있게 break, continue를 적게 사용하는 겁니다.
앞선 BurgerTest를 예제로 가져와서 봐보면
원래 코드
package megait.backend_lecture.Day06;
import java.util.Scanner;
public class BurgerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String menu;
String sideMenu;
String pay;
boolean check = true; // true / false로 빠져나오게 하기 위해서 만들어줌.
while (check) {
// 큰 틀 : 전체 메뉴 선택 분기
System.out.print("메뉴를 입력하세요. \n 1.갈릭버거 2.페페로니 3.페포로니치킨 4.콜로수워치킨 \n : ");
int menuNum = sc.nextInt();
switch (menuNum) {
// 메인 메뉴가 들어가면, 사이드 메뉴 선택하는 분기 스위치 케이스 분류
// 일단 메뉴 선택 분기
case 1:
menu = "갈릭버거";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum1 = sc.nextInt();
// 이 안에 사이드 메뉴 선택 분기
switch (sideNum1) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break; // 선택 끝 // 메뉴 선택으로 간다.
// 사이드메뉴 케이스 2
case 2:
sideMenu = "콜라";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break; // 메뉴 입력으로 가는 break
//사이드메뉴 선택 케이스 3
case 3:
sideMenu = "사이다";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break; //메뉴 입력으로 가는 break
default:
System.out.println("잘못된 사이드 메뉴 입력입니다. 다시 입력하세요.");
break;//메뉴 입력으로 가는 break
}
break;
case 2:
menu = "페퍼로니";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum2 = sc.nextInt();
switch (sideNum2) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n : ");
pay = sc.next();
// 결제 수단 if문 분기 2
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / " + "사이드 메뉴 : " + sideMenu + " / " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break;
case 2:
sideMenu = "콜라";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n :");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
case 3:
sideMenu = "사이다";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n : ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
case 3:
menu = "페포로니치킨";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum3 = sc.nextInt();
switch (sideNum3) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 수단을 입력하세요. > \"카드\" / \"현금\" / \"상품권\" \n :");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 2:
sideMenu = "콜라";
System.out.println("결제 수단을 입력하세요.> \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
case 3:
sideMenu = "사이다";
System.out.println("결제 수단을 입력하세요. > \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
case 4:
menu = "페포로니";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum4 = sc.nextInt();
switch (sideNum4) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 수단을 입력하세요.> 카드 / 현금 / 상품권 : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 2:
sideMenu = "콜라";
System.out.println("결제 수단을 입력하세요.> \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 3:
sideMenu = "사이다";
System.out.println("결제 수단을 입력하세요. > \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
case 5 :
System.out.println("프로그램을 종료합니다.");
check = false;
break;
default:
System.out.println("잘못된 입력입니다.");
break;
}
}
}
}
조금 바꾼 코드
import java.util.Scanner;
public class BurgerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String menu;
String sideMenu;
String pay;
System.out.print("메뉴를 입력하세요. \n 1.갈릭버거 2.페페로니 3.페포로니치킨 4.콜로수워치킨 \n : ");
int menuNum = sc.nextInt();
while (num != 5) {
// 큰 틀 : 전체 메뉴 선택 분기
switch (menuNum) {
case 1:
menu = "갈릭버거";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum1 = sc.nextInt();
// 이 안에 사이드 메뉴 선택 분기
switch (sideNum1) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break;
case 2:
sideMenu = "콜라";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break; // 메뉴 입력으로 가는 break
case 3:
sideMenu = "사이다";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break; //메뉴 입력으로 가는 break
default:
System.out.println("잘못된 사이드 메뉴 입력입니다. 다시 입력하세요.");
break;//메뉴 입력으로 가는 break
}
break;
case 2:
menu = "페퍼로니";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum2 = sc.nextInt();
switch (sideNum2) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / " + "사이드 메뉴 : " + sideMenu + " / " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break;
case 2:
sideMenu = "콜라";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n :");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
case 3:
sideMenu = "사이다";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
case 3:
menu = "페포로니치킨";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum3 = sc.nextInt();
switch (sideNum3) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 수단을 입력하세요. > \"카드\" / \"현금\" / \"상품권\" \n :");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 2:
sideMenu = "콜라";
System.out.println("결제 수단을 입력하세요.> \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
case 3:
sideMenu = "사이다";
System.out.println("결제 수단을 입력하세요. > \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
case 4:
menu = "페포로니";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum4 = sc.nextInt();
switch (sideNum4) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 수단을 입력하세요.> 카드 / 현금 / 상품권 : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 2:
sideMenu = "콜라";
System.out.println("결제 수단을 입력하세요.> \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 3:
sideMenu = "사이다";
System.out.println("결제 수단을 입력하세요. > \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
// case 5 :
// System.out.println("프로그램을 종료합니다.");
// check = false;
// break;
//이 부분이 없어지고,
default:
System.out.println("잘못된 입력입니다.");
break;
}
System.out.print("메뉴를 입력하세요. \n 1.갈릭버거 2.페페로니 3.페포로니치킨 4.콜로수워치킨 \n : ");
int menuNum = sc.nextInt();
// 여기 메뉴 선택하는 게 한번 더 나와줘야함.
// 이 상태면 메뉴를 입력하세요 가 한번 더 등장하고, 5 입력하면 끝남.
}
}
}
근데 탈출하는 곳이 한 곳이면 무한 루프 괜찮게 쓸 수 있어.
마지막으로...
주문 절차가 정상적으로 다 끝나자마자
메뉴 선택하는 부분이 다시 출력되지 않고 곧바로 종료되게 하려면
package megait.backend_lecture.Day06;
import java.util.Scanner;
public class BurgerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String menu;
String sideMenu;
String pay;
boolean check = true;
while (check) {
// 큰 틀 : 전체 메뉴 선택 분기
System.out.print("메뉴를 입력하세요. \n 1.갈릭버거 2.페페로니 3.페포로니치킨 4.콜로수워치킨 \n : ");
int menuNum = sc.nextInt();
switch (menuNum) {
// 메인 메뉴가 들어가면, 사이드 메뉴 선택하는 분기 스위치 케이스 분류
// 일단 메뉴 선택 분기
case 1:
menu = "갈릭버거";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum1 = sc.nextInt();
// 이 안에 사이드 메뉴 선택 분기
switch (sideNum1) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
System.out.println("주문 절차가 끝났습니다. 프로그램 종료합니다.)
check = false;
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break; // 선택 끝 // 메뉴 선택으로 간다.
// 사이드메뉴 케이스 2
case 2:
sideMenu = "콜라";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break; // 메뉴 입력으로 가는 break
//사이드메뉴 선택 케이스 3
case 3:
sideMenu = "사이다";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + ", " + " 사이드 메뉴 : " + sideMenu + ", " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break; //메뉴 입력으로 가는 break
default:
System.out.println("잘못된 사이드 메뉴 입력입니다. 다시 입력하세요.");
break;//메뉴 입력으로 가는 break
}
break;
case 2:
menu = "페퍼로니";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum2 = sc.nextInt();
switch (sideNum2) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n : ");
pay = sc.next();
// 결제 수단 if문 분기 2
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / " + "사이드 메뉴 : " + sideMenu + " / " + "결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다. ");
}
break;
case 2:
sideMenu = "콜라";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n :");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제 수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
case 3:
sideMenu = "사이다";
System.out.println("결제 방법을 입력하세요.> \"카드\" / \"현금\" / \"상품권\" \n : ");
pay = sc.next();
// 결제 수단 if문 분기
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
case 3:
menu = "페포로니치킨";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum3 = sc.nextInt();
switch (sideNum3) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 수단을 입력하세요. > \"카드\" / \"현금\" / \"상품권\" \n :");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 2:
sideMenu = "콜라";
System.out.println("결제 수단을 입력하세요.> \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
case 3:
sideMenu = "사이다";
System.out.println("결제 수단을 입력하세요. > \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
case 4:
menu = "페포로니";
System.out.print("사이드 메뉴를 입력하세요.> 1.감자튀김 2.콜라 3. 사이다 \n : ");
int sideNum4 = sc.nextInt();
switch (sideNum4) {
case 1:
sideMenu = "감자튀김";
System.out.println("결제 수단을 입력하세요.> 카드 / 현금 / 상품권 : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 2:
sideMenu = "콜라";
System.out.println("결제 수단을 입력하세요.> \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
case 3:
sideMenu = "사이다";
System.out.println("결제 수단을 입력하세요. > \"카드\" + \"현금\" + \"상품권\" \n : ");
pay = sc.next();
if (pay.equals("카드") || pay.equals("현금") || pay.equals("상품권")) {
System.out.println(
"주메뉴 : " + menu + " / 사이드 메뉴 : " + sideMenu + " / 결제수단 : " + pay);
} else {
System.out.println("잘못된 결제수단입니다.");
}
break;
default:
System.out.println("잘못된 사이드 메뉴 입력입니다.");
break;
}
break;
case 5 :
System.out.println("프로그램을 종료합니다.");
check = false;
break;
default:
System.out.println("잘못된 입력입니다.");
break;
}
}
}
}
요런 식으로 해당 case 마다 집어넣어주면 된다.(check=false;)
728x90
'Java, SpringBoot 추가 공부' 카테고리의 다른 글
230327 별찍기 피라미드 / 다이아몬드 모양 추가 정리 (0) | 2023.04.01 |
---|---|
230327 선택정렬 연습 (0) | 2023.04.01 |
230327 숫자야구 배열에서 궁금증 해결 (0) | 2023.03.28 |
230324 2주차 어려웠던 부분들 내용 및 개념 정리 (1) | 2023.03.26 |
230317 자바 추가 - 문자열 더하기, break, continue (0) | 2023.03.21 |
Comments