我想用方法从一个数组中打印出所有素数。我可以用一个整数做到这一点,但不知道如何从数组中返回某些数字。感谢帮助!
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; } }
我建议您将其分为两种方法:
这将两个问题巧妙地分开了。如果您确实坚持执行此操作,请提供您很难找到的详细信息。(我假设这是家庭作业,这就是为什么我不仅仅包含代码。)