C
Chamsen
Gast
hi, folgendes problem
die aufgabe lautete : Frage vom Benutzer 2 werte anfangswert und endwert ab. dursuche diese nach primzahlzwillingen.
Hier meine Lösunge, die jedoch nur funktioniert wenn sich darin auch welche enthalten. Wo setzt ich die Schleife für den fall, wenn keine Vorhanden, liefere syso ....!
Hab keinen Array angelegt um die Werte zu speichern sondern gebe sie gleich aus, Bitte um Rat, ich zermürb mir hier den kopf
[JAvA]import java.util.Scanner;
public class Primzahlzwillinge {
public static void main(String[] args) {
System.out.println("Bitte geben sie den Anfangswert der Suche nach Primzahlzwillingen an:");
Scanner sc = new Scanner(System.in);
int minWert = sc.nextInt();
System.out.println("Bitte geben sie den Endwert der Suche nach Primzahlzwillingen an:");
int maxWert = sc.nextInt();
int lastPrime = 0;
int counter=0;
for (int i = minWert; i <= maxWert; i++)
if (isPrime(i)){
if ( i -lastPrime == 2){
System.out.print(lastPrime);
System.out.print(" -> ");
System.out.println(i);
}
lastPrime= i;
}
}
public static boolean isPrime(int n) {
for(int i=2;i<n;i++) {
if(n%i==0)
return false;
}
return true;
}
}
[/code]
die aufgabe lautete : Frage vom Benutzer 2 werte anfangswert und endwert ab. dursuche diese nach primzahlzwillingen.
Hier meine Lösunge, die jedoch nur funktioniert wenn sich darin auch welche enthalten. Wo setzt ich die Schleife für den fall, wenn keine Vorhanden, liefere syso ....!
Hab keinen Array angelegt um die Werte zu speichern sondern gebe sie gleich aus, Bitte um Rat, ich zermürb mir hier den kopf
[JAvA]import java.util.Scanner;
public class Primzahlzwillinge {
public static void main(String[] args) {
System.out.println("Bitte geben sie den Anfangswert der Suche nach Primzahlzwillingen an:");
Scanner sc = new Scanner(System.in);
int minWert = sc.nextInt();
System.out.println("Bitte geben sie den Endwert der Suche nach Primzahlzwillingen an:");
int maxWert = sc.nextInt();
int lastPrime = 0;
int counter=0;
for (int i = minWert; i <= maxWert; i++)
if (isPrime(i)){
if ( i -lastPrime == 2){
System.out.print(lastPrime);
System.out.print(" -> ");
System.out.println(i);
}
lastPrime= i;
}
}
public static boolean isPrime(int n) {
for(int i=2;i<n;i++) {
if(n%i==0)
return false;
}
return true;
}
}
[/code]
Zuletzt bearbeitet von einem Moderator: