본문 바로가기
개념

[이것이 자바다] chapter.4 확인 문제

by cook_code 2023. 1. 19.
반응형

1. 조건문과 반복문의 종류를 괄호 () 속에 넣어 보세요.

  • 조건문: (if문), (switch문)
  • 반복문: (for문), (while문), (do-while문)

2. 조건문과 반복문을 설명한 것 중 틀린 것은 무엇입니까?

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

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

정답: 

package chapter4;

public class Exercise03 {

	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이면 실행을 멈추는 코드를 작성해보세요. 눈의 합이 5가 되는 조합은 (1,4),(4,1),(2,3),(3,2) 입니다. 

public class Exercise04 {

	public static void main(String[] args) {
		int x = 0;
		int y = 0;
		
		while(x+y!=5) {
			x=(int)(Math.random()*6)+1;
			y=(int)(Math.random()*6)+1;
			System.out.println("("+x+","+y+")");
		}
	}
}

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

단, x와 y는 10 이하의 자연수입니다. 

public class Exercise05 {

	public static void main(String[] args) {
		int x;
		int y;
		for (int i = 1; i <= 10; i++) {
			for (int j = 1; j <= 10; j++) {
				x = i;
				y = j;
				if ((4 * i) + (5 * j) == 60)
					System.out.println("("+x+","+y+")");
			}
		}
	}
}

6. for문을 이용해서 실행 결과와 같은 삼각형을 출력하는 코드를 작성해보세요.

public class Exercise06 {

	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를 이용해서 키보드로부터 입력된 데이터로 예금, 출금, 조회, 종료 기능을 제공하는 코드를 작성해보세요. 이 프로그램을 실행시키면 다음과 같은 실행 결과가 나와야 합니다.

import java.util.Scanner;

public class Exercise07 {
    public static void main(String[] args) {
        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 selectNumber = scanner.nextInt();

            if (selectNumber == 1) {
                int input = scanner.nextInt();
                balance += input;
                System.out.println("예금액> " + input);
            } else if (selectNumber == 2) {
                int output = scanner.nextInt();
                balance -= output;
                System.out.println("출금액> " + output);
            } else if (selectNumber == 3) {
                System.out.println("잔고> " + balance);
            } return;
        }
        System.out.println("프로그램 종료");
    }
}

 

반응형