#카운트 다운
## 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])를 사용해야만 하는건지 궁금합니다.
sehongpark님의 답변
## 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)