본문 바로가기

BackEnd/Java

[JAVA] 조건문, 반복문을 이용한 문제 풀이 3(배수 판별기)

728x90
반응형

 

목차

                                                                                                                           

1. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 1(윤년 계산기)

2. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 2(주사위 게임)

3. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 3(배수 판별기)

4. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 4(청구 금액 계산기)

5. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 5(다독왕)

6. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 6(피보나치 수)

7. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 7(출입증)

8. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 8(방정식)

9. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 9(숫자 맞추기 게임)

10. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 10(만원의 행복)

11. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 11(은행)

                                                                                                                           

 

 

자바의 조건문, 반복문을 이용한 문제 풀이를 진행해보겠습니다~

 

 

문제 3) 윤년 계산기
입력 받은 양의 정수가 3의 배수, 4의 배수, 6의 배수 혹은 8의 배수인지를 알려주는 프로그램을 설계하고 작성하라.

1. 양의 정수가 3의 배수이면 '3의 배수이다'를 출력
2. 4의 배수이면 '4의 배수이다'를 출력
3. 6의 배수이면 '6의 배수이다'를 출력
4. 8의 배수이면 '8의 배수이다'를 출력하고
5. 그 외의 경우이면 '어느 배수도 아니다'를 출력하라.

 

 

👉 출력방법

1. 양의 정수를 입력 받는다.
2. 입력받은 숫자가 4가지 배수 중 하나를 만족하면 해당 배수입니다. 라는 문구를 출력
3. 여러 배수를 만족하면 모든 문구를 출력

 

 

👉  문제 풀이를 위한 Flow Chart

 


👉  문제 해답 코드

import java.util.Scanner;

public class Drainage {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("양의 정수를 입력해 주세요 : ");
		int num = sc.nextInt();
		
		if(num % 3 == 0) {
			System.out.println("3의 배수입니다.");
			if(num % 6 == 0) {
				System.out.println("6의 배수입니다.");				
			}
		}
		
		if(num % 4 == 0) {
			System.out.println("4의 배수입니다.");
			if(num % 8 == 0) {
				System.out.println("8의 배수입니다.");				
			}
		}
		
		if(!(num % 3 == 0 || num % 4 == 0)) {
			System.out.println("어느 배수도 아닙니다.");
		}
		
		sc.close();
	}
}

 

 

👉  코드 해설

1. 입력을 위한 java.util의 Scanner 클래스를 가져온다.
2. 인스턴스 생성 후 양의 정수를 입력받고 변수 num에 저장한다.
3. 조건문을 통해 3의 배수인지 확인한다.
 3-1) 참이라면, 3의 배수라는 문구 출력 후 6의 배수인지 확인한다.
  3-1-1) 참이라면, 6의 배수라는 문구 출력
4. 조건문을 통해 4의 배수인지 확인한다.
 4-1) 참이라면, 4의 배수라는 문구 출력 후 8의 배수인지 확인한다.
  4-1-1) 참이라면, 8의 배수라는 문구 출력
5. 3, 4의 배수 모두 아닌지 확인한다.
 5-1) 참이라면, 어느 배수도 아니라는 문구 출력

 

 

문제 풀이 시 if문을 3번 사용해 12라면 '3의 배수, 4의 배수, 6의 배수'라는 문구가 모두 다 출력이 되도록 만듭니다.

제가 생각하기에는 조건문을 활용하여 풀 수 있는 방법 중 최적의 방법이라고 생각합니다.

 

혹시나 코드를 보고 좀 더 간단하게 풀이하실 수 있는 분들은 답글 부탁드려요!!!!

 

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

 
728x90
반응형