IT프로그래밍/JAVA(자바)

[JAVA]자바 약수 구하기 - 입력한 숫자의 약수를 출력 예제 / 소스 코드

Manniz 2022. 3. 7.

 

자바 약수 구하기

특정한 수를 다른 수로 나누었을 때, 그 나머지가 0이되는 수를 약수라고 합니다.

즉 딱 나누어 지는 숫자를 약수라고 하죠

Java로 약수를 구하는 프로그램의 코드는 어떻게 되는지 예제를 통해 확인해보겠습니다.

 

자바 약수 구하기 예제

사용자에게 1이상의 숫자를 입력받고 그 숫자의 모든 약수를 출력하라

 

자바 약수 구하기 소스 코드

import java.util.Scanner;

public class JAVA_EXAMPLE_004 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("약수를 구할 숫자를 입력해 주세요.");
        int num = sc.nextInt();
        
        System.out.println(divisor(num));
    }

    public static String divisor(int num)
    {
        if(num < 1)
            return "1이상의 값을 입력하세요.";
        
        String result = num + "의 약수 : ";
        for(int i = 1; i <= num; i++)
        {
            if(num % i == 0)
                result += i+" ";
        }
        return result;
    }
    
}

Java 약수 구하기 소스 코드 설명

1. 사용자에게 숫자 하나를 입력받습니다.

2. 입력받은 숫자를 파라미터로 하는 divisor 메서드를 System.out.println에 넣어서 바로 출력하도록 합니다.

3. divisor 메서드는 다음 동작을 수행합니다.

    A. 파라미터(입력된 값)이 1보다 작으면 "1이상의 값을 입력하세요."를 출력합니다. 예외 처리라고 할 수 있습니다.

    B. 1이상의 값이 입력되었다면(코드 상단에서 return되지 않았다면) for문을 반복하면서 1부터 입력된 숫자까지

       %연산을 구행합니다.

    C. % 연산 이란 : 나머지를 구하는 연산입니다.

    D. 나머지가 0일때(나누어 떨어질때)그 숫자를 약수라고 판단하며, String형인 result뒤에 문자열로 저장시킵니다.

    E. 결과를 반환합니다.

 

Java 약수 구하기 소스 코드 결과

 

 

 

자바 약수 구하기 소스 코드를 수행한 결과, 모든 약수를 출력 할 수 있었고,

1미만의 값이 입력되었을 때, 예외처리도 잘 수행되는 것을 확인할 수 있었습니다.

약수를 구할 수 있다는 것은, 해당 숫자가 소수인지 판별도 가능하게 해줍니다.

관련 내용은 아래 링크로 갈음하겠습니다.

 

https://manniz.tistory.com/entry/Java%EC%9E%90%EB%B0%94-%EC%86%8C%EC%88%98-%EA%B5%AC%ED%95%98%EA%B8%B0-%EC%86%8C%EC%88%98-%ED%8C%90%EB%B3%84-%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C-%EB%B0%8F-%EC%84%A4%EB%AA%85

 

[Java]자바 소수 구하기 / 소수 판별 - 소스코드 및 설명

자바 소수 구하기 / 소수 판별하기 소수란? 1과 자기자신만을 약수로 갖는 양의 정수를 말합니다. 2는 1과 2를 약수로 갖습니다. 즉 소수 입니다. 10은 1, 2, 5, 10을 약수로 갖습니다. 즉 소수가 아닙

manniz.tistory.com

 

댓글