● 반복문
2. while문
- 조건식이 true일 때 반복하고, false일 때 종료한다.
while(조건식) {
실행할 문장;
}
● for문과 while문 비교
- for : 몇 번 반복할 지 알 때 사용한다.
- while : 몇 번 반복할 지 모를 때 사용한다.
실습(while문)
1. 아래 내용을 참고하여 심리 테스트 프로그램 작성하기
※ 참고
/*
* Q. 당신이 좋아하는 색을 선택하세요.
* 1. 빨간색
* 2. 노란색
* 3. 검은색
* 4. 흰색
*
* 빨간색 : 불같고 열정적이고 적극적이다.
* 노란색 : 발랄하고 밝고 귀엽고 개성있고 유하다.
* 검은색 : 묵묵하고 든든하고 냉철하고 멋지다. 그리고 강하다.
* 흰색 : 천사같고 깔끔하고 정리를 좋아하고 배려심이 많다.
*/
- 코드 (switch문을 이용하여 while문 탈출하기)
import java.util.Scanner;
public class WhileTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String qMsg = "Q. 당신이 좋아하는 색을 선택하세요.\n"
+ "1. 빨간색\n"
+ "2. 노란색\n"
+ "3. 검은색\n"
+ "4. 흰색\n"
+ "5. 나가기\n";
String redMsg = "불같고 열정적이고 적극적이다.";
String yellowMsg = "발랄하고 밝고 귀엽고 개성있고 유하다.";
String blackMsg = "묵묵하고 든든하고 냉철하고 멋지다. 그리고 강하다.";
String whiteMsg = "천사같고 깔끔하고 정리를 좋아하고 배려심이 많다.";
String exitMsg = "종료합니다";
String errMsg = "다시 시도해주세요";
String result = "";
int choice = 0;
while(choice != 5) { // choice 값이 5가 되면 반복문 종료
System.out.print(qMsg);
choice = sc.nextInt();
switch(choice) {
case 1: // choice 값이 1이면
result = redMsg; // result에 redMsg 값을 담은 후
break; // 반복문 종료
case 2:
result = yellowMsg;
break;
case 3:
result = blackMsg;
break;
case 4:
result = whiteMsg;
break;
case 5:
result = exitMsg;
break;
default:
result = errMsg;
break;
}
System.out.println(result);
}
}
}
- 코드 (if문을 이용하여 while문 탈출하기)
while(true) { // true : 무한반복
System.out.print(qMsg);
choice = sc.nextInt();
if(choice == 5) { // choice 값이 5이면
System.out.println(exitMsg);
break; // while문(if문을 감싸고 있는 중괄호{}) 종료
}
switch(choice) {
case 1:
result = redMsg;
break;
case 2:
result = yellowMsg;
break;
case 3:
result = blackMsg;
break;
case 4:
result = whiteMsg;
break;
default:
result = errMsg;
break;
}
System.out.println(result);
}
![](https://blog.kakaocdn.net/dn/ciaghM/btrJwrlV980/n0UfKBr2bSFW4nULkuUKo1/img.png)
실습(CodeUp)
문제 설명
정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.
0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자.
입력
정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.
출력
입력된 정수를 줄을 바꿔 하나씩 출력하는데, 0이 입력되면 종료한다.
(0은 출력하지 않는다.)
내 풀이
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
int a = sc.nextInt();
if (a == 0) {
break;
}
System.out.println(a);
}
}
}
문제 설명
정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.
0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자.
입력
정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.
출력
입력된 정수를 줄을 바꿔 하나씩 출력하는데, 0이 입력되면 종료한다.
(0은 출력하지 않는다.)
내 풀이
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
int a = sc.nextInt();
if (a == 0)break;
System.out.println(a);
}
}
}
'ETC > 복습' 카테고리의 다른 글
[복습_JAVA] 14 (0) | 2022.08.21 |
---|---|
[복습_JAVA] 13 (0) | 2022.08.20 |
[복습_JAVA] 11 (0) | 2022.08.16 |
[복습_JAVA] 10 (0) | 2022.08.15 |
[복습_JAVA] 09 (0) | 2022.08.14 |