Sieb des Erathostenes

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Sieb des Erathostenes

    Hallo Leute,
    mein Kumpel und ich sind leider am verzweifeln :(

    Unser Informatik Lehrer hat uns die Aufgabe gegeben, in BlueJ das Sieb des Erathostenes nachzustellen. Wir sollen die Zahlen von 1 bis 100 simulieren und daraus die Primzahlen herausfiltern.

    Da wir aber leider aus einem anderen Kurs sind (Generation Facebook, mehr muss ich nicht sagen), haben wir keine Ahnung von dem aktuellen Stoff. Das Letzte Thema, die Fakultätsberechnung haben wir noch so gerade eben hinbekommen, danach ging gar nichts mehr, wir haben absolut keinen Plan mehr.

    Es würde uns wirklich sehr freuen, wenn ihr uns hier einen Beispiel-Quellcode zur Verfügung stellen könntet, wir versuchen diesen dann nachzuvollziehen.
    Ansonsten gehen uns im Quartal 3 Punkte flöten :(

    Vielen, vielen Dank im Voraus!

    Quellcode

  • Quellcode

    1. import sum.kern.*;
    2. import sum.werkzeuge.*;
    3. import sum.ereignis.*;
    4. import sum.komponenten.*;
    5. import java.math.*;
    6. public class Sieb {
    7. /**
    8. * Berechnet die Primzahlen von 0 bis max,
    9. * in Benutzung des Siebes des Eratosthenes.
    10. *
    11. * @param max
    12. * @return
    13. */
    14. private static boolean isPrim(int number) {
    15. boolean isPrim = true;
    16. for (int j = 2; j < number; j++)
    17. {
    18. if (number % j == 0) {
    19. isPrim = false;
    20. }
    21. }
    22. return isPrim;
    23. }
    Alles anzeigen


    Das haben wir jetzt so gemacht, aber es tut sich nichts, wenn wir es starten wollen. Irgendwie muss das doch ein Fenster dann öffnen, oder?

    Quellcode

  • BlueJ ist eine Schülersoftware, mit der ich nie selbst gearbeitet habe. Ich kann also auch nur auf das offizielle Tutorial verweisen:
    bluej.org/tutorial/blueJ-tutorial-deutsch.pdf

    Du kannst auch mal nach Videos suchen. Dort zeigen Andere wie sie BlueJ-Projekte anlegen.
    google.com/search?q=Bluej&tbo=…vid&source=vgc&hl=de&aq=f


    Mache dir bei deiner bisherigen Methode 2 Dinge klar:
    1. private sorgt dafür, dass du die Methode nicht von außerhalb der Klasse aufrufen kannst. Alternativen sind protected (im selben Paket und in geerbten Kassen aufrufabar) und public (von überall aufrufbar).
    2. Methoden können entweder zu Objekten der Klasse gehören (nicht static), oder zur Klasse selbst (static). In deinem Fall kann es durchaus richtig sein, die Methode static zu machen, aber unterscheidet sich dadurch der Aufruf, sollte dir klar sein.


    Edit:
    Ach ja, die Vareable isPrim brauchst du nicht. Du kannst an den entsprechenden Stellen geleich return true; oder return false; schreiben. Das mach die Methode auch schneller, da du früher abbrichst.

    Edit 2:
    Ach ja, deine JavaDOC passt auch nicht zu dem, was die Methode tut.