Java 从数组打印素数
我想用方法打印出数组中的所有素数。我可以用一个int来做 但不知道如何从数组中返回某些数字。谢谢你的帮助Java 从数组打印素数,java,arrays,numbers,primes,Java,Arrays,Numbers,Primes,我想用方法打印出数组中的所有素数。我可以用一个int来做 但不知道如何从数组中返回某些数字。谢谢你的帮助 public static boolean isPrime(int [] tab) { boolean prime = true; for (int i = 3; i <= Math.sqrt(tab[i]); i += 2) if (tab[i] % i == 0) { prime = false
public static boolean isPrime(int [] tab) {
boolean prime = true;
for (int i = 3; i <= Math.sqrt(tab[i]); i += 2)
if (tab[i] % i == 0) {
prime = false;
break;
}
for(int i=0; i<tab.length; i++)
if (( tab[i]%2 !=0 && prime && tab[i] > 2) || tab[i] == 2) {
return true;
} else {
return false;
}
//return prime;
}
公共静态布尔iPrime(int[]选项卡){
布尔素数=真;
对于(int i=3;i我建议您将其分为两种方法:
- 确定单个数字是否为素数的一种方法
- 一个方法遍历数组,用每个数字调用第一个方法,并打印出该方法返回true的值
这就很好地区分了这两个问题。如果你对如何做到这一点感到困惑,请详细说明你觉得哪一点困难。(我假设这是家庭作业,这就是为什么我没有包括代码的原因。)假设你有:
- 一个整数数组,有些是素数,有些不是素数
- 用于测试这些数字中是否有一个是素数的函数
只需在数组上迭代,对于每个数字:
if (isPrime(n)) {
system.out.println(n);
}
您可能不想尝试同时执行多个int,一次执行一个int应该更容易编写代码
if (isPrime(n)) {
system.out.println(n);
}