#카운트 다운 ## CODE ``` public class Main { public static void main(String[] args) { int n = 5; System.out.println("카운트 다운을 시작합니다."); while(n<=5){ System.out.println(n+"!"); n--; if(n==0) { break; } } System.out.print("발사!"); } } ``` ## INPUT ``` 5 ``` ## OUPUT ``` 카운트 다운을 시작합니다. 5! 4! 3! 2! 1! 발사! ``` 질문1) int로 값을 선언해서 위의 질문의 값 도출하는 방법(+if 안쓰고 무한루프에 빠지지 않게.....) ->int n=0,n-- 처음에는 값이 위로 무한루프뜨고 int n =5, n--하니 아래로 무한루프가 돌고 ->결국 if로 break 걸었습니다. 질문2) Integer.parseInt(args[0]) 이거는 문자열을 숫자로 변형시킬때만 쓰는게 아닌가요?특히 ()안의 내용이 무슨 말인지 이해가 안됩니다. 무한루프 안돌면서 if 안쓰려면 질문2의 Integer.parseInt(args[0])를 사용해야만 하는건지 궁금합니다.
## while문의 조건식 조건식을 변경하여 `break` 없이 반복문을 종료해보세요. ``` public class CountDown { public static void main(String[] args) { // 입력 int count = Integer.parseInt(args[0]); // 5 // 출력 System.out.println("카운트 다운을 시작합니다.."); // 반복문 while (count >= 0) { // -1 >= 0 System.out.println(count); // 5 -> 4 -> ... -> 0 count--; // 5 -> 4 -> 3 -> ... -> 0 -> -1(반복문 종료) } System.out.println("발사!"); } } ``` ## 입력값 받기 `args`는 커맨드 명령을 통해 입력된 전달인자를 저장합니다. ``` mycomputer> java CoundDown 5 ``` 따라서 위와 같이 자바 프로그램을 실행한 경우 `args[0]`에는 "5"라는 문자열이 저장됩니다. 이를 int타입으로 변경한 내용이 아래의 코드입니다. ``` int count = Integer.parseInt(args[0]); // 5 ``` ## 관련 문제 - 입력 값 받기1 (https://cloudstudying.kr/challenges/326) - 입력 값 받기2 (https://cloudstudying.kr/challenges/327)