繁体   English   中英

计算arraylist中的质数

[英]Count prime numbers in arraylist

我正在分配作业,需要在数组列表中计算素数。 在Stackoverflow上有几种解决方案,但是我需要用另一种方式来解决。 我将数组列表初始化为方法头本身,而不是主体。 我相信会有区别,但是我可能错了。

我需要使用这种方法:

public static int countPrimeNumbers(ArrayList<Integer> list) {

}

到目前为止,我想出了以下代码:

public static int countPrimeNumbers(ArrayList<Integer> list) {
    list = new ArrayList<Integer>();

    int n = 0;
    int count = 0;
    System.out.println(list);

    for(int i=2; i<list.size(); i++) {
        if(n%i==0)
            count++;
    }
    return count;

}

但是我不确定它是否即将完成,因为我不知道如何从Main调用它。 问候

当您编写此list = new ArrayList<Integer>(); 您将丢弃作为参数传递给方法的列表。 这就是您可以从main方法调用它的方式。

private static int countPrimeNumbers(List<Integer> list) {
    int count = 0;
    for (int i : list) {
        if (isPrime(i)) {
            count += 1;
        }
    }
    return count;
}

// FYI... logic to find prime number can further be optimised, i will leave it upto you
private static boolean isPrime(int number) {
    for(int i = 2; i < number; i++) {
        if(number % i == 0) {
            return false;
        }
    }
    return true;
}

public static void main(String args[]) {
    Integer[] numbers = {2, 3, 5, 6, 10};
    List<Integer> list = Arrays.asList(numbers);

    int result = countPrimeNumbers(list);

    System.out.println("Number of prime numbers = " + result);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM