비트캠프/실습
231201 JAVA switch case 기능단위로 묶기
보더96
2023. 12. 1. 14:13
public static void main(String[] args) {
printMenu();
java.util.Scanner keyIn = new java.util.Scanner(System.in);
loop:
while (true) {
String input = prompt("메인", keyIn);
switch (input) {
case "1":
System.out.println("[과제]");
System.out.println("1. 등록");
System.out.println("2. 조회");
System.out.println("3. 변경");
System.out.println("4. 삭제");
System.out.println("0. 이전");
loop2:
while (true) {
input = prompt("메인/과제", keyIn);
switch (input) {
case "1":
System.out.println("등록입니다.");
break;
case "2":
System.out.println("조회입니다.");
break;
case "3":
System.out.println("변경입니다.");
break;
case "4":
System.out.println("삭제입니다.");
break;
case "0":
break loop2;
case "menu":
System.out.println("[과제]");
System.out.println("1. 등록");
System.out.println("2. 조회");
System.out.println("3. 변경");
System.out.println("4. 삭제");
System.out.println("0. 이전");
break;
default:
System.out.println("메뉴 번호가 옳지 않습니다!");
}
}
break;
case "2":
System.out.println("게시글입니다.");
break;
case "3":
System.out.println("도움말입니다.");
break;
case "4":
System.out.println("종료합니다.");
break loop;
case "menu":
// 코드를 기능 단위로 묶어 메서드로 정의하면
// 메서드의 이름을 통해 해당 기능을 쉽게 유추할 수 있어 유지보수에 좋다.
printMenu();
break;
default:
System.out.println("메뉴 번호가 옳지 않습니다.");
}
}
keyIn.close();
}
switch case 문 안에 또다른 switch case문을 넣으면 가독성이 없기 때문에
클래스 변수 onAssignmetn 를 밖에다가 선언해주고
switch (input) {
case "1":
//System.out.println("과제입니다.");
onAssignment(scanner);
break;
static void onAssignment(Scanner scanner) {
System.out.println();
System.out.println(ANSI_BOLD_RED + "[과제]" + ANSI_CLEAR);
for (String menu : menu1) {
System.out.println(menu);
}
loop2:
while (true) {
//System.out.print("메인/과제", scanner);
//Scanner scanner = new Scanner(System.in);
String input = prompt("메인/과제", scanner);
switch (input) {
case "1":
System.out.println("과제 등록입니다.");
break;
case "2":
System.out.println("과제 조회입니다.");
break;
case "3":
System.out.println("과제 변경입니다.");
break;
case "4":
System.out.println("과제 삭제입니다.");
break;
case "0":
System.out.println("메인으로 돌아갑니다");
printMenu();
return;
default:
System.out.println("올바른 번호를 입력하세요11231.");
}
}
}
를 해주면
이렇게 출력이 된다!