📚 Study/Java

JAVA :: Test033_제어문 if~else (3,2의 배수 판별하는 프로그램 구현)

bono-hye 2023. 9. 8. 10:39

○ 실습

사용자로부터 임의의 정수를 입력받아

다음과 같은 판별 결과를 출력하는 프로그램을 구현한다.

- 2의 배수
- 3의 배수
- 2와 3의 배수
- 2와 3의 배수 아님

 실행 예)
 임의의 정수 입력 : 4
 4 → 2의 배수
 계속하려면 아무 키나 누르세요...

 실행 예)
 임의의 정수 입력 : 9
 9 → 3의 배수
 계속하려면 아무 키나 누르세요...

 실행 예)
 임의의 정수 입력 : 12
 12 → 2와 3의 배수
 계속하려면 아무 키나 누르세요...
  
 실행 예)
 임의의 정수 입력 : 17
 17 → 2와 3의 배수 아님
 계속하려면 아무 키나 누르세요...

 

▼ 내가 작성한 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Test033
{
	public static void main(String[] args) throws IOException
	 {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int n;
		String result;

		System.out.print("임의의 정수 입력 : ");
		n = Integer.parseInt(br.readLine());

		if (n%6==0)
		{
			result = "2와 3의 배수";
		}
		else if (n%2==0)
		{
			result = "2의 배수";
		}
		else if (n%3==0)
		{
			result = "3의 배수";
		}
		else if (n%6!=0)
		{
			result = "2와 3의 배수 아님";
		}
		else
			result = "판정 불가";
		
		System.out.printf("%d → %s\n", n, result);
	  }
  }

▼ 같이 작성한 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Test033
{
	public static void main(String[] args) throws IOException
	{
		// 주요 변수 선언
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n;

		// 연산 및 처리
		System.out.print("임의의 정수 입력 : ");
		n = Integer.parseInt(br.readLine());

		// 결과 출력
		if (n%2==0 && n%3==0)
		{
			System.out.println(n + "→ 2와 3의 배수");
		}
		else if (n%2==0)
		{
			System.out.println(n + "→ 2의 배수");
		}
		else if (n%3==0)
		{
			System.out.println(n + "→ 3의 배수");
		}
		else if (n%2!=0 || n%3!=0)
		{
			System.out.println(n + "→ 2와 3의 배수 아님");
		}
		else
		{
			System.out.println(n + "→ 판정 불가");              // 웬만하면 이렇게 다중 if 구성
		}
	}
}