题
我想打印出所有总理的人数从一系列与的方法。我可以做到这一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;
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;
}
谢谢你们两个。似乎是其解决:
public static void isPrime(int[] tab) {
for (int i = 0; i < tab.length; i++) {
if (isPrimeNum(tab[i])) {
System.out.println(tab[i]);
}
}
}
public static boolean isPrimeNum(int n) {
boolean prime = true;
for (long i = 3; i <= Math.sqrt(n); i += 2) {
if (n % i == 0) {
prime = false;
break;
}
}
if ((n % 2 != 0 && prime && n > 2) || n == 2) {
return true;
} else {
return false;
}
}
解决方案
我建议你单独这两种方法:
- 一种方法,以确定是否有一个单一的数量是总理
- 一个迭代方法通过一阵,呼吁第一种方法与每个数字,并且打印出来的价值观的方法返回正确的。
分离出两个关切整齐。如果你坚持到底如何做到这一点,请详细说明其位你找到难。(我假设这是家庭作业,这就是为什么我没有只是包括代码。)
其他提示
假设你有:
- 一系列整数,与一些正在总理和一些正在不总理。
- 一个功能进行测试,如果一个这些数字是总理。
只是迭代的阵列,每个号码:
if (isPrime(n)) {
system.out.println(n);
}
你可能不想尝试做的多个整数在一次,一次一个应该很简单的代码。
不隶属于 StackOverflow