크기가 100인 배열에 1~100까지의 숫자를 for 문으로 할당하고,

isPrime() 메소드를 만들어 소수를 필터링 해 ture, false를 반환하도록 하였습니다.

 

public class Example {
    public static void main(String... args) {
        int[] arr = new int[100];
        for (int i = 0; i < 100; i++) {
            arr[i] = i + 1;
        }

        for (int i = 0; i < arr.length; i++) {
            if (isPrime(arr[i])) {
                System.out.println(arr[i]);
            }
        }
        
    } // main

    public static boolean isPrime(int num) {
        if (num <= 1) { // 음수거나 1이면 false 반환
            return false;
        }
        if (num == 2) { // 2면 true
            return true;
        }
        if (num % 2 == 0) { // 2로 나눠서 나머지가 0이면 false
            return false;
        }
        
        
        // Math.sqrt(num)으로 num의 제곱근 반환
        for (int i = 3; i <= Math.sqrt(num); i += 2) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
        
    } // isPrime
    
}//class

'Java' 카테고리의 다른 글

인터페이스  (0) 2023.07.25
Getter Setter  (0) 2023.07.21
생성자  (0) 2023.07.19
args  (0) 2023.07.18
JAVA 14 Switch Expressions  (0) 2023.07.17

+ Recent posts