📜  使用素数索引对布尔数组进行排序 - Java 代码示例

📅  最后修改于: 2022-03-11 14:52:17.184000             🧑  作者: Mango

代码示例1
import java.util.Scanner;

public class BooleanPrimes {
    public static int counter ;
    public static void main(String[] argh)
    {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter a number: ");
        int size = scanner.nextInt();
        boolean[] boolArray = new boolean[size+1];
        generateBoolArray(boolArray,size+1);
    }

    public static boolean[] generateBoolArray(boolean[] boolArr, int size) // initializing boolean array with true values
    {
        for (int i = 2; i < size; ++i)
        {
            boolArr[i] = true;
        }
        return chickIfIndexPrime(boolArr, boolArr.length,size);
    }

    public static boolean[] chickIfIndexPrime(boolean[] arrIsPrime, int input, int size)
    {
        int start = 2;
        while (start*start <= input) // first+second loop checking if start is prime
        {
            int i = 2;
            boolean isprime = true;
            while(i*i < start && isprime ) // second loop
            {
                if(start%i == 0) {
                    isprime = false;
                }
                ++i;
            }
            if(isprime==true)
            {
                for(int j=4; j=arrIsPrime.length){
                                break;
                         }
                    }
                    arrIsPrime[j]=false;

                }
             }
          }
          
            ++start;

        }
        printArray(arrIsPrime,size); // eventually printing the array
        return arrIsPrime;
    }



    public static void printArray(boolean[] arr ,int size){
        System.out.println("The prime numbers from 2 till "+(size-1));
        int i=0,j = 0 ;
        while(i