Sieb des Erathostenes

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • 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!

    Source Code

  • Source Code

    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. }
    Display All


    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?

    Source Code

  • 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.