English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 가이드

Java 흐름 제어

Java 배열

Java 상대적 객체(I)

Java 상대적 객체(II)

Java 상대적 객체(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램에서 숫자가 소수인지 확인

Java 예제 전체

이 문서에서는 숫자가 소수인지 확인하는 방법을 배울 것입니다. 이는 Java의 for 반복문과 while 반복문을 사용하여 완료됩니다.

소수는 두 개의 숫자로만 나눌 수 있는 숫자입니다:1그리고 그 자신으로 나누어질 수 있습니다. 따라서 숫자가 나누어질 수1그리고 그 자신의 다른 숫자로 나누어지면, 그것은 소수가 아닙니다.

예제1소수를 확인하는 for 반복문을 사용하는 프로그램

public class Prime {
    public static void main(String[] args) {
        int num = 29;
        boolean flag = false;
        for(int i = 2; i <= num/2; ++i)
        {
            //비소수 조건
            if (num % i == 0)
            {
                flag = true;
                break;
            }
        }
        if (!flag)
            System.out.println(num + " 소수입니다");
        else
            System.out.println(num + " 소수가 아닙니다");
    }
}

출력 결과

29 소수입니다

위의 프로그램에서, for 반복문은 주어진 숫자 num이 소수인지 확인하기 위해 사용됩니다.

여기서 주의해야 할 것은, 우리가2num까지 반복합니다 / 2이는 숫자가 절반 이상의 정수로 나눌 수 없기 때문입니다.

for 반복문 내에서, 숫자가 주어진 범위 내의 어떤 숫자로도 나누어지는지 확인합니다(2...num/2)。

  • 만약 num이 나누어지면, flag는 true로 설정되고, 그 후로 반복문을 탈출합니다. 이는 num이 소수가 아니라는 것을 확정합니다.

  • 만약 num이 어떤 숫자로도 나누어지지 않으면, flag는 false가 되고, num은 소수입니다.

예제2:소수를 확인하는 while 루프 사용 프로그램

public class Prime {
    public static void main(String[] args) {
        int num = 33, i = 2;
        boolean flag = false;
        while (i <= num/2)
        {
            //비소수 조건
            if (num % i == 0)
            {
                flag = true;
                break;
            }
            ++i;
        }
        if (!flag)
            System.out.println(num + " 소수입니다");
        else
            System.out.println(num + " 소수가 아닙니다");
    }
}

출력 결과

33 소수가 아닙니다

위 프로그램에서 while 루프를 for 루프 대신 사용합니다. 루프는 i <= num까지 실행됩니다 / 2。 각 반복에서 num이 i로 나누어지는지 확인하고 i의 값을 증가시킵니다1。

이 페이지에 접근하여두 시간 간격 사이의 모든 소수를 표시

Java 예제 전체