[英]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.