Erste Schritte Primzahlproblem

eisk4lt

Mitglied
Hallo Leute,

bin ganz neu hier im Forum und will mich mal kurz vorstellen.

Ich bin Fabian, 24 Jahre und wohen in der Nähe von Hannover.

Studiere momentan informatik an der Uni und muss auch Java machen^^

Bis jetzt bin ich eigentlich ganz gut mitgekommen, allerdings waren die letzen 1-2 wochen wegen renovierung und umzug sehr stressig und ich scheine einiges net richtig mitbekommen zu haben...


Die Aufgabe ist die, dass man Zahlen mit Hilfe des Sieb des Erathostenes sieben soll, damit nur Primzahlen bleiben (denke mal, dass das eine gängige Aufgabe ist).

Das Problem ist jetzt, dass man das ganze mit einem Array und 3 Unterprogrammen erledigen soll (array anlegen, sieben, primzahlen ausgeben) und ich leider keinen plan habe was ich machen muss :-/

Habe schon 3 Stunden dran rumgefummelt, aber als kompletter Novize bin ich doch echt überfordert. Habe zudem noch Fehler wie " This Method must return a result of type int". Auch Herr Google und die Folien haben mich bei dem Thema bisher nicht weiterbringen können.

Ich hoffe, dass einer von euch mir helfen kann, damit ich erstmal checke wie ich überhaupt vorgehen muss.



Hier erstmal mein kläglicher Versuch :

Java:
import java.util.Scanner; // Import des Scanners

public class Aufgabe1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        // Anlegen der Methoden

        int[] zahlen = arrayAnlegen();
        zahlen = sieben(zahlen);
        ausgabe(zahlen);

    }
//a)
    public static int[] arrayAnlegen() {

        //Erste Benutzung des Scanners
        Scanner ichbineinscanner = new Scanner(System.in);

        System.out.println("Bitte geben Sie die Obergrenze ein: ");

        int n;
        int i;

        n = ichbineinscanner.nextInt();

        // Nach der Deklaration von n und i als Integer wird n vom Scanner
        // eingelesen und einem neuen Array Namens "array" als Länge zugewiesen
        
        int[] array = new int[n];
        
        //For Schleife, füllt das Array von i = 2 bis i < n + 1 mit Zahlen

        for (i = 2; i < (n + 1); i++);
        
        System.out.println(array[4]);
        
        
        

    }

    //b)
    
    public static int[] sieben(int[] zahlen) {
        
        // While Schleife um die Zahlen nach dem Prinzip des Siebs von 
        // Erathostenes zu sieben
        while(n % 2 !=0)
            
            System.out.println("");
            
    }
    
    
    //c)
    
    public static void ausgabe(int [] zahlen) {
        
        //Ausgabe der Primzahlen, welche nach dem Sieben stehen geblieben sind
        
        System.out.println("Hier alle Primzahlen ausgeben :");
    }
}

Ich hoffe, Ihr könnt mir helfen, damit ich überhaupt bis morgen noch was abgeben kann :(


Liebe Grüße
eisk4lt
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Habe zudem noch Fehler wie " This Method must return a result of type int".

1) Ich kann mir nicht vorstellen, dass Google dazu nichts sagt ...
2) Das ist doch eindeutig?! Da muss ein Int zurückgegeben werden
3) Schau mal in die Methoden sieben() und arrayErzeugen() beide haben als Return Parameter int[] Diese müssen dann auch ein int Array mittels return zurückgeben.

Füge mal die Returns hinzu mit den Arrays die zurückgegeben werden sollen. Dann sollten die Fehler zumindest schon mal verschwinden.

Java:
 for (i = 2; i < (n + 1); i++);

Das ist Quatsch. Das Semikolon beendet die for Schleife.

Was du meinst ist wahrscheinlich:
Java:
for (i = 2; i < (n + 1); i++) {
 //tue irgendwas
}

Mehr Lust habe ich nicht. Der Code strotzt nur so von Fehlern. Fehlende Klammern u.s.w.
Du solltest unabhängig von der Vorlesung dringend ein Buch wie Java von Kopf bis Fuß oder Java ist auch eine Insel parrallel abarbeiten, da werden solche Sachen anhand von Beispielen ausführlich beschrieben.

Sorry hab leider auch nicht mehr Zeit jede Zeile nachzuschauen.

Ergänze mal bei allen Schleifen ect. die Klammern so wie sie sein sollen, und die Return Anweisungen. Dann guck ich gern nochmal drüber :)
 
Zuletzt bearbeitet von einem Moderator:

eisk4lt

Mitglied
hi,


erstmal viel dank für die antwort.

google sagt mit sicherheit tausende sachen dazu, aber keine die ich verstehe.
meist sind das dann auszüge aus quelltexten die inhaltlich wesentlich weiter sind als das, was ich verstehe ;-)

big thx erstmal für die hilfe!

ich weiss, dass das alles s******e ist, aber wie gesagt, hatte in letzter zeit außer zum arbeiten und schlafen wenig zeit ( und das is kein gequatsche)... werde mir die insel zudem nochmal zu gemüte führen und schauen, dass ich das auf die reihe kriege.

ist video 2 brain java empfehlenswert?

lG

/ EDIT : Kann evtl. jemand in einfachem Deutsch mir erklären, wie ich eine Methode bzw. deren Ergebnis wieder weitergeben kann? Habe das mit den bishierigen Skripten und Erklärungen immer noch nicht verstanden.
 
Zuletzt bearbeitet:
G

Gast2

Gast
Ists doch nicht so wichtig?

Falls es doch noch dringend ist versuche die genannten Dinge zu verbessern (Klammern setzen, Return Werte einfügen, ect... ) und wir helfen gerne weiter. Aber nicht ohne dein Zutun!

Fertigen Code wirst du hier nicht bekommen.
 

Andi_CH

Top Contributor
Fertigen Code wirst du hier nicht bekommen.

Den gibts schon per google - auf einem der von mir aufwändig (ich werd nicht mal rot dabei) recherchierten Links (der horrenden Aufwand von ca 2.3798 Sekunden ist ein Geschenk)

Übrigens das mit Umzug, stressig uns so fehlt noch beim "erschleichen von Lösungen"


Nebenbei:
Was mich aber wirklich wunder nimmt - was ist in Deutschland eine "Uni" - ist das eine Art Volksschule in der die Lehrperson vorne steht und alles schön vorkaut, oder ist das etwas ähnliches wie bei uns?

Also eine Institution die dir die Möglichkeit bietet etwas zu lernen - anders formuliert die dabei hilft etwas zu lernen. Die Voraussetzt, dass du bereit bist ein hohes Mass an Eigenintiative zu beweisen und weisst wie man weiterführende Information beschafft?

-> Nein, ich brauche nicht wirklich eine Antwort.
 
G

Gast2

Gast
@Andi_CH ne das ist bei uns eigentlich auch so.

Selbst auf FHs ist das so... Deswegen seh ich nicht ein den fertigen Code zu posten. Und wenn er keine Zeit zum lernen in z.B. Drittliteratur hat... tja ... ist nun mal der Job eines Studenten.

Aber anscheinend ists nciht so wichtig, dass man mitarbeitet, denn er antwortet ja nicht mehr. Hinweise gabs schon genug.
 

eisk4lt

Mitglied
oh mann,

hab ich mit einem wort gesagt dass ich hier fertigen code haben will???
bleibt mal locker, ich hab noch keinen plan von der materie und sehe die zusammenhänge nicht und ihr meint ich erwarte hier dass mir einer die aufgabe löst...


also bitte denkt euch mal in meine situation bevor ihr anfangt zu flamen o0

außerdem muss ich auch mal zur arbeit und kann nicht innerhalb von 10 minuten auf jeden post antworten -_-

danke für das nette willkommen
 
G

Gast2

Gast
Hier flamed keiner.
Du hast bislang aber auch kein Update deines Codes unter Berücksichtigung der Tips gepostet.

Ich werd morgen früh auf jeden Fall mal rein schauen, jetzt ist erst mal Feierabend :)

Schreib den Code mal so, dass die Klammern richtig sitzen und die Methoden das returnen was gewollt ist, sodass wir erkennen was welche Methode konkret machen soll. Dann kriegen wir das auch hin. So ist mir zumindest nicht klar was die Code Fetzen überhaupt machen sollen.

Nur mal als Beispiel:

Java:
   public static int[] sieben(int[] zahlen) {
        
        // While Schleife um die Zahlen nach dem Prinzip des Siebs von 
        // Erathostenes zu sieben
        while(n % 2 !=0)
            
            System.out.println("");
            
    }

1) Was ist n
2) welches int[] soll heir returned werden?
3) Die Klammern fehlen bei der while Schleife
4) Wofür ist der leere System.out.println
5) Der Übergabeparameter zahlen wird gar nicht verwendet

So kann ja keiner verstehen was die Methode überhaupt machen soll. Sorry zumindest ich verstehs nit :/. Und bevor du dich gleich angegriffen fühlst: Das ist nicht böse gemeint!
 
Zuletzt bearbeitet von einem Moderator:

eisk4lt

Mitglied
ne angegriffen hab ich mich nicht gefühlt, fand es nur schade, dass alle direkt denken dass ich nur den fertigen code will weil ich zu faul bin mich selbst mit der materie auseinander zu setzen.
dem ist nämlich nicht so. nur ist es schwer 5 fächer in der uni, arbeit, renovierung und wohnung nach dem umzug einrichten alles unter einen hut zu bringen.
mein problem ist, dass mir viele sachen noch nicht um zusammenhang klar sind. d.h. wenn ich spezifische dinge google hilft mir das noch nicht wirklich für das globale verständnis.

werde heute abend nochmal versuchen ob ich was auf die reihe bekomme und wenn nich dann hab ich pech gehabt :-/

trotzdem danke an alle die sich konstruktiv eingebracht haben!

lG
 
G

Gast2

Gast
Sorry aber ich hatte 7-8 Fächer + Labore (ca. 4) sprich jeden Tag von 8 bis 18.00 oder 19:00 Anwesenheit an der Hochschule und musste das alles auch noch machen. Studium ist eben kein Ponyhof!
 

ARadauer

Top Contributor
fand es nur schade, dass alle direkt denken dass ich nur den fertigen code will weil ich zu faul bin mich selbst mit der materie auseinander zu setzen.
dem ist nämlich nicht so.
doch
Ich hoffe, dass einer von euch mir helfen kann, damit ich erstmal checke wie ich überhaupt vorgehen muss.
erster google treffer, wikipedia da steht wie du vorgehen musst.
Hast du dir das durchgelesen und nicht verstanden: naja dann ist das vielleicht nix für dich
Hast du es dir nicht durchgelesen: naja dann bist du zu faul

Echt reißt euch ein wenig zusammen. Es ist schwer gute Entwickler zu finden. Es gibt viel zu tun, wir suchen händeringend gute Leute... Und wenn man dann täglich im Forum ließt, das die heutigen Studenten es nicht mal schaffen die ersten einfachen Übungsbeispiele mit Hilfe von Google zu lösen... das ist schon frustrierend ...
 

ARadauer

Top Contributor
Sorry das war jetzt vielleicht etwas hart, aber hier mein Appell an alle IT Studenten: Bitte bitte, reißt euch zusammen. Das sind einfache Grundlagen. Ich weiß es ist am Anfang nicht einfach aber kniet euch da rein! Wir brauchen euch!!! Es gibt echt zu wenig Entwickler am Arbeitsmarkt. Wenn ihr euch nicht besser bemüht geht die Software Branche den Bach runter oder wird von billigen Arbeitkräften aus Asien überrannt.
 

eisk4lt

Mitglied
gut, dann lassts halt bleiben, dachte hier in der community gehen alle mal vernünftig miteinander um, nicht wie in anderen kiddie foren aber hab mich wohl getäuscht.
7 x moralpredigt bringt auch keinen weiter.

thread kann zu
 
G

Gast2

Gast
gut, dann lassts halt bleiben, dachte hier in der community gehen alle mal vernünftig miteinander um, nicht wie in anderen kiddie foren aber hab mich wohl getäuscht.
7 x moralpredigt bringt auch keinen weiter.

thread kann zu

Es kamen 3 Konkrete Vorschläge die du umsetzen solltest.
Du hast kein einziges Code Update gepostet sondern meckerst rum.
Mehr hab ich nicht zu sagen!
 

Andi_CH

Top Contributor
Studium ist eben kein Ponyhof!

Im Grundstudium (Vollzeit) waren es so gegen 30h / Woche Vorlesungen (Damals HTL oder heute FH sind die Vorlesungen theoretisch Pflicht) kam ich locker auf 50 - 70 Stunden pro Woche.
Im letzte Nachdiplomstudiengang waren es so gegen 40h / Woche arbeiten + 15h / Woche Vorlesungen + das was einem kein Forum abnimmt (lernen) > 70h / Woche - tja so ist es, aber google ist ja sehr hilfreich dabei.

Ok, manchmal blockiert man sich mit falschen Suchbegriffen und da war ich doch ab und zu froh um richtungsweisende Tipps ;-) -> falls es das war, die wurden gegeben.

Hochschulen funktionieren auch wie ein Sieb (Wer zu klein ist, fällt durch), nur scheint es mir, dass die Maschen immer kleiner werden.

Ich glaube das war hier schon einmal ein Thema - ich habe eine Lösung auf meinem PC rumliegen - die hat mit allem Luxus wie schön formatiertem printout etc. gerade mal 76 Zeilen - das sollte also zu schaffen sein.
Nö die gibts nur gegen Bares - gratis liefert die ja google :D
 
G

Gast2

Gast
Der TO hat bereits 13 Minuten nach der Erstellung von mir 3 Hinweis ebekommen die er anpassen sollte. Ich habe in diesem Post nicht unterstellt, dass er Code umsonst haben will.

Anstatt auf die Hinweise einzugehen und mitzuarbeiten wird gemeckert. Der Vorwurf Code abgreifen zu wollen entstand später nachdem keine Reaktionen (konstruktiver Natur) vom TO kamen.
 

Neue Themen


Oben