gpt4 book ai didi

java - 素数集合 - countPrimesSmallerThanX

转载 作者:行者123 更新时间:2023-12-01 20:00:11 24 4
gpt4 key购买 nike

我希望有人能帮助我。

我的任务是创建一个计算 x 之前所有素数的集合。在之前的任务中,我设法编写了一个方法来检查数字是否为素数。

public boolean isPrime(int n){
for(int i=2; 2*i<n; i++) {
if(n%i==0)
return false;
}
return true;
}

提示是集合不接受整数,所以我可以使用自动装箱来解决这个问题。我必须在 API 中查找 Integer。

但我完全不知道如何解决这个问题。我是否必须编写一个字符串类并用该方法用素数“填充”它?如果有人能解释解决方案,我将非常感激。

编辑:我写了这个,但最后它显示了“return primes;”的错误,说:不兼容的类型:java.util.ArrayList无法转换为int。如果我省略它,它会说错过返回声明

 public int countPrimesTill100(){

ArrayList<Integer> primes = new ArrayList<>();

for(int num=2; num<100; num++){
boolean isPrime=true;
for(int div=2; div<num && isPrime; div++){
if(num%div==0)
isPrime=false;
}
if(isPrime){
primes.add(num);
}
}
System.out.println(primes.size());
return primes;
}```

最佳答案

由于您已经有了检查数字是否为质数的算法,因此您可以创建一个List,它实现Collection,如下所示:

List<Integer> primes = new ArrayList<>();

然后,如果您的数字是质数,请将其添加到您的列表中,如下所示:

primes.add(n);

希望这有帮助。

编辑

发生此错误是因为您的方法返回类型只是 int

您的方法应如下所示:

public ArrayList<Integer> countPrimesTill100() {
//do your sutff here.
}

你应该没问题。

我建议你在在这里写问题之前先用谷歌搜索一下这些东西,因为这些问题可以通过谷歌搜索轻松解决。

抱歉我回复晚了。

关于java - 素数集合 - countPrimesSmallerThanX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59008215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com