반응형
while문
특정 조건을 만족할 때 까지 무한정 돌아간다.
무한 루프를 만들기 쉽다.
while(i<5) {
System.out.println("i번째");
i++;
}
무한 루프 만들기
무한루프를 만들려면 while문 조건에 항상 참이되는 식을 넣으면 된다.
주의할점은 탈출구를 만들지 않으면 프로그램을 강제종료 할때까지 돌아가기 때문에 유의
while(True) {
System.out.println("i번째");
i++;
if(i == 5) {
break;
}
}
무한루프 예제 (Ex17.java)
학생의 점수를 받아 수우미양가를 보여주는 프로그램을 만드세요.
조건1. 점수가 -1이면 프로그램을 종료합니다.
Note switch 문과 if문 둘 다 사용 가능하다.
- if문 일 경우
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int score = 0;
while(score != -1){ // -1 경우에는 while문을 종료한다.
System.out.println("점수를 입력해 주세요: ");
score = scan.nextInt();
// if or switch
if(score >= 90) {
System.out.println("수");
} else if(score >= 80) {
System.out.println("우");
} else if(score >= 70) {
System.out.println("미");
} else if(score >= 60) {
System.out.println("양");
} else {
System.out.println("가");
}
}
}
- switch문 일 경우
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = 0;
while(true) {
System.out.print("점수를 입력하세요: ");
N = sc.nextInt();
switch(N/10) {
case 10:
case 9:
System.out.println("수");
break;
case 8:
System.out.println("우");
break;
case 7:
System.out.println("미");
break;
case 6:
System.out.println("양");
break;
case 5: case 4: case 3: case 2: case 1:
System.out.println("가");
break;
}
if(N == -1) {
break;
}
}
sc.close();
}
- 조건 1 처리법
while(score != -1){
...
}
- 조건 1 처리법
while(true){
if(N == -1) {
break;
}
...
}
무한루프예제 (Ex18.java)
생일을 받아서 별자리를 보여주는 프로그램을 작성합니다.
무한루프이며 생월이 0일시에는 루프를 종료합니다.
또한 예외처리를 통해 잘못된 생월, 생일(13월 82일)같은 잘못된 값이 입력되지 않게 방지합니다.
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int month = 0;
int day = 0;
while (true) {
// 생월 예외처리
while (true) {
System.out.print("월을 입력해주세요(0은 종료): ");
month = scan.nextInt();
if (month >= 0 && month <= 12) {
break;
} else {
System.out.println("잘못입력하셨습니다. 다시입력 ");
}
}
if (month == 0) {
break;
}
// 생일 예외처리
while (true) {
System.out.print("생일을 입력하세요(0은 종료): ");
day = scan.nextInt();
if (day >= 0 && day <= 31) {
... // 별자리 switch문 생략
break;
} else {
System.out.println("잘못입력하셨습니다. 다시입력 ");
}
}
if (day == 0) {
break;
}
}
}
반응형
'IT > JAVA' 카테고리의 다른 글
sanner (0) | 2019.02.21 |
---|---|
[JAVA] 반복문: JAVA 별찍기 예제 (0) | 2019.02.13 |
[JAVA] 반복문 : 다중 for문 (0) | 2019.02.13 |
[JAVA] 반복문 : for (0) | 2019.02.12 |
[JAVA] 조건문 : switch-case 문 (1) | 2019.02.12 |