이것이 자바다 4장 확인 문제

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

① if 문은 조건식의 결과에 따라 실행 흐름을 달리할 수 있다.
② switch 문에서 사용할 수 있는 변수의 타입은 int, double이 될 수 있다.
② for 문은 카운터 변수로 지정한 횟수만큼 반복시킬 때 사용할 수 있다.
④ break 문은 switch 문, for 문, while 문을 종료할 때 사용할 수 있다.

정답 2

자바 7까지는 switch 괄호에는 정수타입 (byte char short int long) 변수나 정수값 산출연산식만 가능했지만 자바 8부터는 String 타입 변수도 가능하다.

 
2. 왼쪽 switch 문을 표현식으로 변경하시오

package Chap_4;

public class Chap4_quiz_2 {
    public static void main(String[] args) {
        String grade = "A";

        int score1 = switch (grade) {
            case "A" -> 100;
            case "B" -> {
                int result = 100-2;
                yield result;
            }
            default -> 60;
        };
        System.out.println(score1);
    }
}

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

package Chap_4;

public class Chap4_quiz_3 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i < 101; i++) {
            if (i % 3 == 0){
                sum += i;
            }
        }
        System.out.println("3의 배수의 총합: " + sum);
    }
}

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

package Chap_4;

public class Chap4_quiz_4 {
    public static void main(String[] args) {
        while(true){
            int num1 = (int) (Math.random() * 10);
            int num2 = (int) (Math.random() * 10);

            System.out.println( "(" + num1 + "," + num2 + ")" );
            if((num1 + num2) == 5){
                System.out.println("주사위 눈의 합이 5입니다.");
                System.out.println("종료합니다");
                break;
            }
        }
    }
}

 
5. 중첩 for문을 이용하여 방정식 4x + 5y = 60의 모든 해를 구해 (x, y)의 형태로 출력하는 코드를 작성하세요.

package Chap_4;

public class Chap4_quiz_6 {
    public static void main(String[] args) {
        for (int i = 0; i < 11; i++) {
            for (int j = 0; j < 11; j++) {
                if ((4 * i) + (5 * j) == 60){
                    System.out.println("(" + i + "," + j + ")");
                }
            }
        }

    }
}

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

package Chap_4;

public class Chap4_quiz_6 {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

 
7. while 문과 Scanner의 nextLine() 메소드를 이용해서 다음 실행 결과와 같이 키보드로부터 입력된 ...

import java.util.Scanner;
public class Quiz2 {

    public static void main(String[] args) {
        int balance = 0;
        Scanner scanner = new Scanner (System.in);
        while (true) {
            System.out.println("----------------------------------");
            System.out.println("1. 예금 | 2. 출금 | 3. 잔고 | 4. 종료 ");
            System.out.println("----------------------------------");
            System.out.print("선택> ");
            String banking = scanner.nextLine();

            if (banking.equals("1")){
                System.out.print("예금액> ");
                String bankingDep = scanner.nextLine();

                // 예금액 int 타입으로 변경
                int depAmount = Integer.parseInt(bankingDep);
                balance += depAmount;


            } else if(banking.equals("2")) {
                System.out.print("출금액> ");
                String bankingWD = scanner.nextLine();

                // 출금액 int 타입으로 변경
                int wdAmout = Integer.parseInt(bankingWD);
                balance -= wdAmout;

            } else if (banking.equals("3")){
                System.out.println("잔고> " + balance);
            } else if (banking.equals("4")){
                break;
            }
        }
        System.out.println();
        System.out.println("프로그램 종료");
    }
}
profile
I want to be a Backend Developer

0개의 댓글