개발 이야기

JUNGOL 반복제어문1 - 자가진단6 본문

JAVA/알고리즘 문제풀이

JUNGOL 반복제어문1 - 자가진단6

개발거미 2021. 7. 13. 18:53

633 : 반복제어문1 - 자가진단6 문제

알고리즘 문제를 풀기 위해서는 문제의 흐름을 잘 정리하는 것이 중요하다고 생각합니다.

이 문제와 같이 쉬운 문제는 필요없을 수 있으나 나아갈수록 복잡해지고 이해하기 어려워 지기 때문입니다!

그래서 저는 다음과 같이 제가 해야 될 순서를 먼저 정리한 후에 하나씩 해결합니다!

 

import java.util.Scanner;

public class Study {
	public static void main(String[] args) { 
		
	/* 1. 각 나라의 수도를 출력한다.
	 * 2. 숫자를 입력받는다.
	 * 3. 해당하는 나라의 수도를 출력한다. 
	 * 4. 1-2-3 반복
	 * 5. 번호 이외의 숫자가 입력되면 none을 출력하고 종료한다.
	 * */
		
		int num; // 숫자를 받기 위한 변수
		int stop = 0; // while문을 종료시키기 위한 변수
		
		// 4.
		while (true) { // true면 반복문을 종료한다.
			
			// 1. 각 나라의 수도 출력
			System.out.println("1. Korea");
			System.out.println("2. USA");
			System.out.println("3. Japan");
			System.out.println("4 China");
			System.out.print("number? ");
			
			// 2. 숫자를 입력받기 위한 클래스 추가
			Scanner sc = new Scanner(System.in);
			num = sc.nextInt();
			
			// 3. 조건문을 통해 각 흐름에 따라 해당 값을 출력
			switch (num) {
			case 1: {
				System.out.println("\nSeoul\n");
				break;
			}
			case 2: {
				System.out.println("\nWashington\n");
				break;
			}
			case 3: {
				System.out.println("\nTokyo\n");
				break;
			}
			case 4: {
				System.out.println("\nBeijing\n");
				break;
			}
            
			// 5. 번호 이외의 숫자가 입력되면 none 출력 후 종료
			default:
				System.out.println("\nnone\n");
				stop = 1; // 1. 여기서 stop의 값을 1로 바뀌주고
				break; // 2. while문을 종료시킵니다.
				
			} // end switch
			
			if (stop == 1) { // 3. stop의 값이 1일 경우
            break; // 4. while문 종료
            }
			
		} // end while
		
	} // end of main

} // end of Class