Meine Zuordnung lautet:Wie schreibe ich eine Schleife, um mehrere Primzahlen in Java anzuzeigen?
Schreiben Sie ein Programm, das alle Primzahlen zwischen einer und einer Nummer, die Sie dem Benutzer eingeben können, findet.
- Suchen Sie die Primzahlen zwischen 0 und der vom Benutzer eingegebenen Zahl.
- Drucken Sie diese Primzahlen, eine pro Zeile.
- Fügen Sie nach jeder Primzahl einen Doppelpunkt hinzu und drucken Sie dann alle nicht-Primzahlen aus, die eliminiert wurden.
Grundsätzlich sind diese Nicht-Primzahlen die Vielfachen der Primzahlen.
Zum Beispiel, wird die Ausgabe wie folgt aussehen:
2: 4 6 8 10 12 14 16 18...
3: 9 15 21 27
ich Primzahlen tat. Ich kann nicht herausfinden, wie man Vielfache berechnet und anzeigt? Hilfe bitte!
package assignment4;
import java.util.Scanner;
public class Assignment4 { /**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
final int START = 1;
System.out.print("Enter the end number number : ");
int end = s.nextInt();
System.out.println("List of prime numbers between " + START + " and "
+ end);
for (int i = START; i <= end; i++) {
if (isPrime(i)) {
System.out.println(i + ":");
}
}
}
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i < Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;}
}
Sie brauchen nur ein Array zu erstellen und die Primzahlen in der es einfügen ... –
Einige Hinweise: (1) Der dritte Ausdruck eines 'for' muss nicht die Form' x ++ 'haben. Sie können eine 'for' -Schleife haben, die aussieht wie' für (int j = 2 * i; j <= end; j + = i) ', die jedes Mal' i' zum Index hinzufügt. (2) Es sieht so aus, als ob Sie nur jedes Mehrfaches drucken dürfen (Sie drucken 6 auf der Zeile, die mit 2 beginnt, so dass Sie es nicht auf der "3" Zeile drucken können). Es gibt ein paar gute Möglichkeiten, um Zahlen, die Sie bereits gedruckt haben, zu verfolgen: 'Set' und eine Reihe von Boolean. – ajb
Aus dem Wortlaut der Frage, insbesondere der Phrase "Nicht-Primzahlen, die eliminiert wurden", denke ich, dass Ihr Lehrer möchte, dass Sie den Sieve von Eratosthenes Algorithmus zum Auffinden der Primzahlen verwenden. Wikipedia-Seite ist hier: https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes – msandiford