drucken aus Primzahlen aus dem array
Möchte ich drucken Sie alle Primzahlen aus einem array mit der Methode. Ich kann es mit einem int
aber weiß nicht, wie die Rückkehr der bestimmte Anzahlen von Arrays. Danke für die Hilfe!
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;
}
Dank, Ihr beiden. Scheint, wie seine gelöst:
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;
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde vorschlagen, trennen Sie diese in zwei Methoden:
Trennt die beiden Anliegen ordentlich. Wenn Sie fest sind, wie genau dies zu tun, geben Sie bitte Einzelheiten an, von denen Sie etwas hart finden. (Ich nehme an, das ist Hausaufgaben, das ist, warum ich nicht einfach den code enthielt.)
Vorausgesetzt, Sie haben:
Einfach iterieren über das array, und für jede Zahl:
Werden Sie wahrscheinlich nicht wollen, um zu versuchen und tun, mehrere ints gleichzeitig in einer Zeit, sollte viel einfacher zu Programmieren.