본문 바로가기
언어/JAVA

[chapter4] 확인문제

by 코딩맛집 2023. 1. 16.

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

2번. switch문에서 사용할 수 있는 변수의 타입은 int, str이 될 수 있다. (자바 7버전 부터 str 가능)

 

2. 위쪽 switch문을 표현식으로 변경해보세요.

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 Ex4_2 {
    public static void main(String[] args) {
        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;
        }
    }
}

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

public class Main {
    public static void main(String[] args) {
        int sum = 0;

        for(int i = 1;i<=100;i++){
            if(i%3==0){
                sum += i;
            }
        }
        System.out.println(sum);
        }
    }

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

public class Main {
    public static void main(String[] args) {

        while (true) {
            int cube1 = (int) (Math.random()*6) +1;
            int cube2 = (int) (Math.random()*6) +1;
            System.out.println("(" + cube1 +","+ cube2 +")");
            
            if (cube1 + cube2 == 5){
                break;
            }
        }
    }
}

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

public class Main {
    public static void main(String[] args) {
        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문을 이용해서 다음과 같은 실행 결과가 나오는 코드를 작성해보세요.

public class Main {
    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();
                }
            }
        }
    }
}

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws Exception{
        Scanner scanner = new Scanner(System.in);
        int keyCode = 0;
        int money = 0;
        boolean answer = true;


        while(answer){
            if(keyCode!=13 && keyCode!=10) {
                System.out.println("-------------------------------");
                System.out.println("1.예금 | 2.출금| 3.잔고| 4.종료");
                System.out.println("-------------------------------");
                System.out.println("선택>" );

                keyCode = System.in.read();
            }

            if(keyCode == 49){
                money+= scanner.nextInt();
                System.out.println("예금액>" + money);
            }
            else if (keyCode == 50){
                money-= scanner.nextInt();
                System.out.println("출금액>" + money);

            }
            else if(keyCode == 51){
                System.out.println("잔고>" + money);

            }
            else if(keyCode == 52){
                answer=false;
            }
            System.out.println("프로그램 종료");

        }

    }
}