从数组中找到所有素数

新手上路,请多包涵

我想创建一个程序,要求用户使用数组输入 5 个整数并确定输入的所有素数。但我很难做到。似乎是什么问题?我为此使用 JCreator。

 import java.util.Scanner;
public class PrimeNumbers{
public static void main (String[] args){
    int[] array = new int [5];
    Scanner in = new Scanner (System.in);

    System.out.println("Enter the elements of the array: ");
    for(int i=0; i<5; i++)
    {
        array[i] = in.nextInt();
    }
    //loop through the numbers one by one
    for(int i=0; i<array.length; i++){
        boolean isPrime = true;

        //check to see if the numbers are prime
        for (int j=2; j<array[i]; j++){

            if(array[i]%j==0){
                isPrime = false;
                break;
            }
        }
        //print the number
        if(isPrime)

            System.out.println(array[i] + " are the prime numbers in the array ");
    }
}
}

原文由 Programmer19 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 444
2 个回答

您正在检查循环计数器,而不是数组中的值。尝试类似的东西

for (int j=2; j<array[i]; j++){
    if(array[I]%j==0){
            isPrime = false;
            break;
        }

我没有测试过这个。

更新

要打印出结果,可以在找到时打印每个结果,或者将质数复制到输出数组中,然后在完成检查后打印出来。详细信息将取决于您使用的语言。

请注意,您没有使用非常有效的检测算法;谷歌一个更好的。

原文由 Peter Smith 发布,翻译遵循 CC BY-SA 3.0 许可协议

从数组中找出所有素数。

          package com.myfirstproject;

public class array_Uni_work {
public static void main(String[] args) {
    int[] array = {6,48,47,7 , 98,51,87,99,2,0,1,191,157};

    // loop through the numbers one by one
    for (int i = 0; i < array.length; i++) {
        boolean isPrime = true;
        if (array[i] == 1)
            isPrime = false;
        else {
            // check to see if the numbers are prime
            for (int j = 2; j <= array[i] / 2; j++) {
                if (array[i] % j == 0) {
                    isPrime = false;
                    break;
                }
            }
        }
        // print the number
        if (isPrime){
            if (array[i] == 0){}
            else {
                System.out.print(array[i] + " , ");
            }
    }}
    System.out.println(" Are the prime number in the array ");
}

}

原文由 Ahmed Talha 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题