충분히 쌓여가는
이것이 자바다 4장 확인 문제 본문
1. 조건문과 반복문에 대해 잘못 설명한 것은 무엇입니까?
1) if문은 조건식의 결과에 따라 실행 흐름을 달리할 수 있다
2) switch 문에서 사용할 수 있는 변수의 타입은 int, double가 될 수 있다
3) for 문은 카운터 변수로 지정한 횟수만큼 반복시킬 때 사용할 수 있다
4) break 문은 switch 문, for 문, while 문을 종료할 때 사용할 수 있다
답: 2번
2. switch 문을 Expression(표현식)으로 변경해서 작성해보세요.(다시 풀어보기)
String grade = "B";
int score1 = 0;
switch (grade) {
case "A":
score1 = 100;
break;
case "B":
int result = 100 - 20;
score1 = result;
break;
default:
score1 = 60;
}
답:
public class Example {
public static void main(String[] args) {
String grade = "B";
int score = switch (grade) {
case "A" -> 100;
case "B" -> {
int result = 100 - 20;
yield result;
}
default -> 60;
};
System.out.println(score);
}
}
3. for 문을 이용해서 1부터 100까지의 정수 중에서 3의 배수의 총합을 출력하는 코드를 작성해보세요.
답:
int sum = 0;
for(int i=1; i<=100; i++) {
if(i % 3 != 0) {
continue;
}
sum += i;
}
System.out.println(sum);
int sum = 0;
for(int i=0; i<=100; i++) {
if(i%3 == 0) {
sum += i;
}
}
System.out.println(sum);
4. while 문과 Math.random() 메소드를 이용해서 두 개의 주사위를 던졌을 때 나오는 눈을 (눈1, 눈2) 형태로 출력하고, 눈의 합이 5가 되면 계속 주사위를 던지고, 눈의 합이 5이면 실행을 멈추는 코드를 작성해보세요.
눈의 합이 5가 되는 경우는 (1,4), (4,1), (2,3), (3,2)입니다.
답:
while(true) {
int num1 = (int)(Math.random() * 6) + 1;
int num2 = (int)(Math.random() * 6) + 1;
if(num1 + num2 == 5) {
break;
}
System.out.print(num1 + ", " + num2);
System.out.println();
}
5. 중첩 for 문을 이용하여 방정식 4x + 5y = 60의 모든 해를 구해서 (x, y) 형태로 출력하는 코드를 작성해보세요, 단 x와 y는 10 이하의 자연수입니다.
답:
for(int x=1; x<=10; x++) {
for(int y=1; y<=10; y++) {
if(4 * x + 5 * y == 60) {
System.out.println(x + ", " + y);
}
}
}
6. for 문을 이용해서 다음과 같은 실행 결과가 나오는 코드를 작성해보세요.
*
**
***
****
*****
답:
for(int i=1; i<=5; i++) {
for(int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
7. while 문과 Scanner의 nextLine() 메소드를 이용해서 다음 실행 결과와 같이 키보드로부터 입력된 데이터로 예금, 출금, 조회, 종료 기능을 제공하는 코드를 작성해보세요
----------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
----------------------------------
선택> 1
예금액>10000
----------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
----------------------------------
선택> 2
출금액>2000
----------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
----------------------------------
선택> 3
잔고>8000
----------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
----------------------------------
선택> 4
프로그램 종료
답:
boolean run = true;
int balance = 0;
Scanner scanner = new Scanner(System.in);
while(run) {
System.out.println("-------------------------------------");
System.out.println("1.예금 | 2.출금 | 3.잔고 | 4.종료");
System.out.println("-------------------------------------");
System.out.print("선택> ");
int menuNum = Integer.parseInt(scanner.nextLine());
switch(menuNum) {
case 1:
System.out.print("예금액> ");
balance += Integer.parseInt(scanner.nextLine());
break;
case 2:
System.out.print("출금액> ");
balance -= Integer.parseInt(scanner.nextLine());
break;
case 3:
System.out.print("잔고> ");
System.out.println(balance);
break;
case 4:
run = false;
break;
}
System.out.println();
}
System.out.println("프로그램 종료");
'이것이 자바다 > 04 조건문과 반복문' 카테고리의 다른 글
4.7 break 문 - 중접된 반복문 (0) | 2024.03.29 |
---|---|
4.4 for 문 - 주의 사항 (0) | 2024.03.29 |
4.3 switch 문 - Expression 표현식, yield (0) | 2024.03.29 |
4.3 switch 문 (0) | 2024.03.29 |