PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [java] Frage zu for-Schleifen Benutzung



Pfanni
30-10-2002, 18:24
Hallo,

ich konstruiere mir hier gerade eine kleine Primzahlenberechnung, in der aber noch ein Fehler in der for-Schleife liegt. Ich will das, dass t nur solange um 1 erhöht wird bis es den Wert von n-1 erreicht. Wie kann ich aber jetzt erreichen, dass das Höchzählen aufhört, wenn dieser Wert erreicht ist? Brauche ich eigentlich die Variable help?
Vielleicht zusätzlich noch ne Idee, wie man das ganze noch beschleunigen kann (es müssen doch eigentlich nicht alle Teiler geprüft werden, oder?)

class Primzahlen
{
public static void main(String[] args)
{
int n = Integer.parseInt(args[0]);
int t = 2;
boolean antwort = true;

for (int help =n%t; help==0; t++)
antwort=false;

if (antwort)
System.out.println("Yes");
else
System.out.println("No");
}
}


Struktogramm zu der Aufgabe:
http://www.pfannstiel-online.de/fhm/primzahlen.gif

Grüße
Pfanni

anda_skoa
30-10-2002, 18:41
Am besten du gehts nach deinem Struktogramm vor und optimierst später:




for (int t = 2; t < (n-1); ++t)
{
if ((n % t) == 0)
{
antwort = false;
break; // beende Schleife, nicht unbedingt nötig
}
}


Ciao,
_

Pfanni
30-10-2002, 21:24
@ anda_skoa

danke für die Hilfe....hat wunderbar funktioniert.

cu
Pfanni