기록공간

[JAVA] 이것이 자바다 확인 문제 4장 (조건문과 반복문) 본문

JAVA & Spring

[JAVA] 이것이 자바다 확인 문제 4장 (조건문과 반복문)

mkm101 2022. 12. 29. 21:35
반응형

1. 조건문과 반복문에 대해 잘못 설명한 것은 무엇입니까?

 1) if 문은 조건식의 결과에 따라 실행 흐름을 달리할 수 있다.

 2) switch 문에서 사용할 수 있는 변수의 타입은 int, double이 될 수 있다.

 3) for 문은 카운터 변수로 지정한 횟수만큼 반복시킬 때 사용 할 수 있다.

 4) break 문은 switch 문, for 문, while 문을 종료할 때 사용할 수 있다.

 

답: 2) switch문에서 정수 타입(byte, char, short, int, long)과 문자열(String) 변수도 사용할 수 있다.

 

2. 다음 switch 문을 Expression (표현식)으로 변경해서 오른쪽에 작성해보세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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;
}
cs

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
String grade = "B";
 
int score1= switch (grade) {
  case "A"-> 100;
  case "B"-> {
    int result = 100 -20;
    yield result;
    }
   default -> 60;
   };
   System.out.println(score);
 }
}
cs

switch Expression문을 사용하면, 스위치된 값을 변수에 바로 대입 할 수도있다. 

참고 : 자바 12부터 도입되었으며, yield 키워드는 자바 13버전부터 사용가능하다. ( 중괄호 안의 값을 return해주는 역할을 함)

 

3. for문을 이용해서 1부터 100까지의 정수 중에서 3의 배수의 총합을 출력하는 코드를 작성해보세요.

1
2
3
4
5
6
7
8
sum = 0;
 
for (int i=1; i<=100; i++){
   if( i % 3 == 0 )
    { sum += i }
   }
 
System.out.println("3의 배수의 합: " + sum)
cs

 

4. while 문과 Math.random() 메소드를 이용해서 두 개의 주사위를 던졌을 때 나오는 눈을 (눈1, 눈2) 형태로 출력하고, 눈의 합이 5가 아니면 계속 주사위를 던지고, 눈의 합이 5이면 실행을 멈추는 코드를 작성해보세요. 눈의 합이 5가 되는 경우는 (1, 4), (4, 1), (2, 3), (3, 2)입니다.

1
2
3
4
5
6
7
8
9
10
11
public class Example {
public static void main(String[] args) { 
   while(true) {
   int num1 = (int)(Math.random()*6+ 1
   int num2 = (int)(Math.random()*6+ 1;
   System.out.println("(" + num1 + " , " + num2 + ")");
   if( (num1+num2 == 5
     break
   }
  }
}
cs

 

 

5. 중첩 for 문을 이용하여 방정식 4x + 5y = 60의 모든 해를 구해서 (x,y) 형태로 출력하는 코드를 작성해보세요. 단, x와 y는 10 이하의 자연수입니다.

1
2
3
4
5
6
7
8
9
10
11
12
public class Example {
public static void main(String[] args) { 
     for (x=0; x<=10; x++){
       for (y=0; y<=10; y++) {
           if (4*+ 5*== 60
             { 
               System.out.println("(" + x + ","++")"); 
      }
    }
   } 
  }
}
cs

 

 

6. for 문을 이용해서 다음과 같은 실행 결과가 나오는 코드를 작성해보세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Example {
public static void main(String[] args) { 
 
   for(int i=1; i<=5; i++){
     for(int j=1; j<=i; j++) {
        System.out.print("*")
        if(j==i) {
         System.out.println()
      }  
     }
    }
   }
  }
cs

 

7. while 문과 Scanner의 nextLine() 메소드를 이용해서 다음 실행 결과와 같이 키보드로부터 입력된 데이터로 예금,출금, 조회, 종료 가능을 제공하는 코드를 작성해보세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
import java.util.Scanner;
 
public class Example {
public static void main(String[] args) {
      Scanner sc = new Scanner();
      int balance = 0;
      boolean run = true;
     
      while(true) {
            System.out.println("----------------");
            System.out.println("1. 예금 | 2.출금 | 3. 잔고 | 4. 종료 )
            System.out.println("----------------");
            System.out.println("선택>")
  
            int menuNum = scanner.nextInt();
 
            switch(menuNume) {
              case 1: 
                 System.out.print("예금액> ");
                 balance += sc.nextInt();
                 break;
              case 2:
                 System.out.print("출금액> ");
                 balance -= sc.nextInt();
                 break;
              case 3:
                 System.out.print("잔고> ");
                 System.out.println(balance);
                 break;
             case 4:
                 run = false;
                 break;
             }
            }
           System.out.println("프로그램 종료");
         }
       }
cs

 

 

반응형