antenne Geschrieben 30. September 2015 Autor Geschrieben 30. September 2015 Hi,und wie sieht der Code aus der kompiliert wird?Ich bekomme bei diesem Code den schon angesprochenen Fehler. s. Anlage.Grußschlumpfen Wie meinst du das? Das was oben steht wird kompiliert. Also der 2 posts höher. Zitieren
arlegermi Geschrieben 30. September 2015 Geschrieben 30. September 2015 (bearbeitet) Okay. Erstmal: Das Einlesen der Zahlen brauchst du nur in main - in sortiere hat das nichts zu suchen. Ich mache mal ein paar Änderungen an deinem Code, die hoffentlich helfen, das Problem zu verdeutlichen: public static void sortiere(int[] zahlenArray) { boolean unsortiert=true; int temp; // überflüssiges Einlesen von Zahlen entfernt while (unsortiert){ unsortiert = false; for (int arrayIndex = 0; arrayIndex < zahlenArray.length-1; arrayIndex++) int aktuelleZahl = zahlenArray[arrayIndex]; if (aktuelleZahl > zahlenArray[arrayIndex + 1]) { temp = aktuelleZahl; aktuelleZahl = zahlenArray[arrayIndex + 1]; zahlenArray[arrayIndex + 1] = temp; unsortiert = true; } } } Wenn du die Zeile int aktuelleZahl = zahlenArray[arrayIndex]; nicht hast, dann würdest du darunter folgendes stehen haben: if(zahlenArray > zahlenArray[arrayIndex + 1]) Ich hoffe, es leuchtet ein, wieso das nicht funktionieren kann. Bearbeitet 30. September 2015 von arlegermi Zitieren
antenne Geschrieben 30. September 2015 Autor Geschrieben 30. September 2015 Okay. Erstmal: Das Einlesen der Zahlen brauchst du nur in main - in sortiere hat das nichts zu suchen. Ich mache mal ein paar Änderungen an deinem Code, die hoffentlich helfen, das Problem zu verdeutlichen: public static void sortiere(int[] zahlenArray) { boolean unsortiert=true; int temp; // überflüssiges Einlesen von Zahlen entfernt while (unsortiert){ unsortiert = false; for (int arrayIndex = 0; arrayIndex < zahlenArray.length-1; arrayIndex++) int aktuelleZahl = zahlenArray[arrayIndex]; if (aktuelleZahl > zahlenArray[arrayIndex + 1]) { temp = aktuelleZahl; aktuelleZahl = zahlenArray[arrayIndex + 1]; zahlenArray[arrayIndex + 1] = temp; unsortiert = true; } } } Wenn du die Zeile int aktuelleZahl = zahlenArray[arrayIndex]; nicht hast, dann würdest du darunter folgendes stehen haben: if(zahlenArray > zahlenArray[arrayIndex + 1]) Ich hoffe, es leuchtet ein, wieso das nicht funktionieren kann.leider alles dunkel hier. Ist wirklich schwierig sich das ganze Grundzeug selbst beizubringen ohne Lehrer. Ich habe bei meiner BG schon Stützunterricht für Java angemeldet aber der findet wohl erst im Dezember statt, da es extrem wenige Dozenten gibt die Java beherrschen. Zitieren
schlumpfen Geschrieben 30. September 2015 Geschrieben 30. September 2015 Hi,arlegermi hat das Problem schon verdeutlicht. Bei der Ausgabe hast Du dann das gleiche Problem.import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BubbleSort { public static void sortiere(int[] x) { boolean unsortiert=true; int temp; while (unsortiert){ unsortiert = false; for (int i=0; i < x.length-1; i++) if (x[i] > x[i+1]) { temp = x[i]; x[i] = x[i+1]; x[i+1] = temp; unsortiert = true; } } } public static void main(String[] args) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); System.out.print("Erste Zahl: "); String eingabe1 = br.readLine(); System.out.print("Zweite Zahl: "); String eingabe2 = br.readLine(); System.out.print("Dritte Zahl: "); String eingabe3 = br.readLine(); int zahl1 = Integer.parseInt(eingabe1); int zahl2 = Integer.parseInt(eingabe2); int zahl3 = Integer.parseInt(eingabe3); int[] liste = {zahl1,zahl2,zahl3}; sortiere(liste); for (int i=0; i<liste.length; i++) System.out.print(liste[i]+" "); } }Bei mir läuft esGrußschlumpfen Zitieren
schlumpfen Geschrieben 30. September 2015 Geschrieben 30. September 2015 Hi, leider alles dunkel hier. Ist wirklich schwierig sich das ganze Grundzeug selbst beizubringen ohne Lehrer. Ich habe bei meiner BG schon Stützunterricht für Java angemeldet aber der findet wohl erst im Dezember statt, da es extrem wenige Dozenten gibt die Java beherrschen.http://www.java-tutorial.org/java-grundlagen.htmlich gehe mal davon aus ihr befindet euch im Lernfeld 6: Entwickeln und Bereitstellen von Anwendungssystemen. Gibt es an eurer Schule ein eingeführtes Fachbuch?Wurde im ersten Ausbildungsjahr auch schon Java unterrichtet? Evtl. gibt es ja einen Mitschüler der die Grundlagen dokumentierte hat.Was genau macht ihr im Unterricht? Das Problem das Du hier gerade angehst ist ja schon etwas gehobener Anspruch.Grußschlumpfen Zitieren
antenne Geschrieben 30. September 2015 Autor Geschrieben 30. September 2015 Hi, http://www.java-tutorial.org/java-grundlagen.htmlich gehe mal davon aus ihr befindet euch im Lernfeld 6: Entwickeln und Bereitstellen von Anwendungssystemen. Gibt es an eurer Schule ein eingeführtes Fachbuch?Wurde im ersten Ausbildungsjahr auch schon Java unterrichtet? Evtl. gibt es ja einen Mitschüler der die Grundlagen dokumentierte hat.Was genau macht ihr im Unterricht? Das Problem das Du hier gerade angehst ist ja schon etwas gehobener Anspruch.Grußschlumpfenwas wir in der Schule machen steht im ersten post. In Kurzform: Der Lehrer ist kein richtiger Lehrer. Fragen beantwortet er mit einem Schulterzucken. Java war im ersten Jahr schon dran. Muss ich mal fragen ob da wer was daheim hat. Der Java Unterricht besteht daraus, Übungen an die Wand zu Beamern und 10 min zu warten in der Hoffnung einer hat es hingekriegt. Danach gibts die Lösung, natürlich schon vorgeschrieben. Ich denke mal er bekommt die Aufgaben von jemand anderen. Ich dachte 3 Zahlen sortieren wäre absoluter Urschleim, weil es sich ja einfach anhört. Es hatte ja schon soweit alles gepasst wo ich es mit if und else if gemacht habe, allerdings auch mehr kopiert als selber erarbeitet...leider. Zitieren
schlumpfen Geschrieben 30. September 2015 Geschrieben 30. September 2015 Hallo,was heißt kein richtiger Lehrer und was für Aufgaben werden da an die Wand geworfen?Du bist bei einem Bildungsträger oder in einer Firma und in der Berufsschule?Grußschlumpfen Zitieren
antenne Geschrieben 1. Oktober 2015 Autor Geschrieben 1. Oktober 2015 (bearbeitet) Hallo,was heißt kein richtiger Lehrer und was für Aufgaben werden da an die Wand geworfen?Du bist bei einem Bildungsträger oder in einer Firma und in der Berufsschule?GrußschlumpfenMit richtige Lehrer meine ich, dass er kaum Ahnung von Java hat, nie selbst was schreibt und immer nur fertige Lösungen an die Wand strahlt. Es sind Aufgaben wie, programmiere 3 Würfel, Ob ein Wort ein Palindrom ist also z.B. Lagerregal, ein Fahrstuhl der je nach Stockwerk ausgibt wie das Stockwerk heißt. Und noch ähnliche Sachen. Im ersten Jahr hatten die Schüler einen anderen Lehrer und sind jetzt alle mehr als enttäuscht von diesem, da der Alte es richtig erklären konnte. Die Umschulung ist wie eine normale Lehre. Also Betrieb und Berufsschule. Und vielen dank für den richtigen Code. Funktioniert super. Auch wenn man es dann auf 6 Zahlen oder mehr erweitert. Mir war nicht bewusst, dass man wenn dann nur arrays verwendet mit x. Schade, dass ich es einfach nicht gecheckt habe. Was wären denn gute Übungen für absolute Anfänger? Bearbeitet 1. Oktober 2015 von antenne Zitieren
Ulfmann Geschrieben 1. Oktober 2015 Geschrieben 1. Oktober 2015 Was wären denn gute Übungen für absolute Anfänger?Eigentlich hast du schon ganz sinnvolle Beispiele genannt - Zahlen sortieren, Strings zerlegen - das kann man ja an 1000 verschiedenen kleinen Beispielen üben.Project Euler ist ein großes Sammelwerk von mathematischen Problemen verschiedener Schwierigkeit. Code Wars ist auch sehr schön: eine Plattform, auf der man nach und nach immer schwierigere Aufgaben lösen (programmieren) muss. Da gibt es dann eine Art Bewertungssystem mit Ranking und Diskussionen über elegante Lösungen. Kann ich sehr empfehlen. Zitieren
schlumpfen Geschrieben 1. Oktober 2015 Geschrieben 1. Oktober 2015 Hallo,ich würde mir fertige Algorithmen anschauen und kommentieren (z.B. kommentier mal den Sortieralgorithmus, was man die Funktion sortieren genau?). Dazu natürlich Grundlagen. s. Webseite die ich schon geschickt habe.Evtl. auf eine einfache IDE gehen (BlueJ, dort gibt es auch ein Tutorial)Programmiere nicht einfach drauf los, mach Dir erst einmal einen Plan (PAP, Struktogramm, Pseudocode). Wie würdest Du das Problem lösen (ganz ohne Java) und dann versuch diesen Plan in Java umzusetzen.Als SI benötigst Du nicht viel Programmieren...Ganz Platt: AE, schöner sauberer eleganter Quellcode, SI funktionierender Quellcode (ohne Redundanz)Grußschlumpfen Zitieren
arlegermi Geschrieben 1. Oktober 2015 Geschrieben 1. Oktober 2015 (bearbeitet) Ich finde die Sammlung unter https://github.com/karan/Projects ja ganz angenehm, um sich Programmierziele rauszupicken. Da sind einige dabei, die selbst für erfahrene Entwickler anspruchsvoll sind, aber gerade in den "Numbers"- und "Text"-Kategorien sind einige schöne Sachen dabei, die sich auch für Anfänger eignen.Und unter https://github.com/karan/projects-solutions finden sich zu vielen Problemen auch Java-Lösungen, falls man mal partout nicht weiterkommt. Bearbeitet 1. Oktober 2015 von arlegermi Zitieren
antenne Geschrieben 1. Oktober 2015 Autor Geschrieben 1. Oktober 2015 Vielen Dank für all die Hilfe. Werde mir die verlinkten Seiten auf jedenfall mal anschauen! Zitieren
antenne Geschrieben 1. Oktober 2015 Autor Geschrieben 1. Oktober 2015 Wollte noch was hinzufügen. Ich war mal auf der codewars seite. aber das ist wohl alles andere als für Anfänger. Die erste Übung hatte gleich soviel Begriffe und andere Sachen die ich noch nicht mal irgendwo gelesen hatte. Konnte bei keiner Aufgabe auch nur erahnen was zu tun ist. Wird noch eine ganze Weile dauern bis ich da irgendwas als Übung benutzen kann. Zitieren
Ulfmann Geschrieben 1. Oktober 2015 Geschrieben 1. Oktober 2015 Okay sorry, das ist dann natürlich nichts für den Einstieg. Viel mehr für später, zur geistigen Fitness und zum Üben. Zitieren
Nitzan Geschrieben 19. November 2015 Geschrieben 19. November 2015 Mir scheint, dass du mit der dir gestellten Aufgabe völlig überfordert bist. Such dir besser erst mal einfachere Aufgaben. Am besten arbeitest du mal ein Java-Lehrbuch von Anfang an durch. Nichts überspringen, auch wenn du glaubst, du kannst es schon. Du hast noch einige Lücken, die du dringend füllen musst. Ich kann dir hier besonders das Buch Java ist auch eine Insel aus dem Rheinwerk-Verlag empfehlen. Dort wird der Stoff anfängergerecht erklärt und aufbereitet. Außerdem kannst du hier wirklich noch mal alles wiederholen und so Lücken schließen. Generell möchte ich dir auch noch die Literaturliste des Anwendungsentwickler-Podcasts nahe legen. Hier findest du Tips zu weiteren Büchern und Tutorials zum Thema Java. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.