Ich möchte Java lernen

_so_far_away_

Mitglied
Hallo, ich bin ein Student und studiere im zweiten Semester Informatik. Im ersten Semester habe ich Java gelernt und musste ein Projekt abgeben. Leider habe ich es nicht geschafft, da ich nicht wusste, wie ich vorgehen sollte. Dennoch möchte ich mein Studium erfolgreich abschließen und mich gerne intensiver mit Java beschäftigen. Haben Sie vielleicht einige Tipps für mich, wie ich dabei am besten vorgehen kann? Vielen Dank im Voraus
 

_so_far_away_

Mitglied
Spielt das eine wichtige Rolle? Ich bin männlich und wohne seit fast fünf Jahren in Deutschland. In dieser Zeit habe ich mein Abitur gemacht und arbeite während meines Studiums etwa 25-30 Stunden pro Woche, um meinen Lebensunterhalt hier zu finanzieren. Leider habe ich dadurch nicht so viel Zeit, um immer auf dem neuesten Stand zu bleiben und bin deshalb etwas im Stoff zurückgeblieben.
 

KonradN

Super-Moderator
Mitarbeiter
Wenn Du Java lernen willst, dann sind die Bücher:
  • Java von Kopf bis Fuss
  • Schrödinger lernt Java
sehr gut geeignet.

Zur Vertiefung / für Übungen wäre ggf. Captain Ciaociao erobert Java interessant

Wenn es mehr darum geht, wie man ein Projekt angeht, dann ist das immer gleich:
a) Fachliche Seite verstehen / analysieren
b) Notwendige Features ermitteln und diese priorisieren / sortieren
c) Die Features der Reihe nach angehen.

Wenn Du da mehr Details nennst, woran es scheitert, dann kann man das auch gerne weiter erläutern.
 

_so_far_away_

Mitglied
Wenn Du Java lernen willst, dann sind die Bücher:
  • c
  • Schrödinger lernt Java
sehr gut geeignet.

Zur Vertiefung / für Übungen wäre ggf. Captain Ciaociao erobert Java interessant

Wenn es mehr darum geht, wie man ein Projekt angeht, dann ist das immer gleich:
a) Fachliche Seite verstehen / analysieren
b) Notwendige Features ermitteln und diese priorisieren / sortieren
c) Die Features der Reihe nach angehen.

Wenn Du da mehr Details nennst, woran es scheitert, dann kann man das auch gerne weiter erläutern.
vielen Dank
 

_so_far_away_

Mitglied
Dann wäre es villeicht interessant an was für ein Projekt du arbeitest und wo genau deine Probleme sind.
Es geht um einem Karten Spiel.
--Man hat 2 Fragensorten.
-->Einmal Sujet-Fragen( beeinflussen keine Indizien)
-->einmal Points-Fragen. (beeinflussen die Indizien)
--Die Fragen können nur mit JA oder Nein beantwortet sein.
-->Je nach der Antwort werden folgenden Indizien Beeinflusst sein:
°Das Volk,
°Die Partei,
°Das Geld
°und Die Armee.
--Die Indizien haben den Anfangswert 50 und man darf nicht 0 oder weniger Punkten bei irgendeinem Indizien haben.
--Man hat insgesamt 20 Sujet-Fragen und 20 Points-Fragen
--Jedoch werden nur 16 Fragen(jeweils 8 Sujet- und Points-Fragen) zufällig ausgegeben.
--Das Ende wird nur von den Sujet-Fragen beeinflusst sein.
--Die Points-Fragen haben die Aufgabe dem Spieler im Spiel zu halten oder ihn rauszuwerfen


}}} Mein Problem ist es, dass ich nicht weiß, wie ich schlau, die Indizien zum Ändern bringen kann und wie ich das alles mit GUI darstellen kann. Wir müssen es mit JavaFX graphisch darstellen{{{
 

_so_far_away_

Mitglied
Es geht um einem Karten Spiel.
--Man hat 2 Fragensorten.
-->Einmal Sujet-Fragen( beeinflussen keine Indizien)
-->einmal Points-Fragen. (beeinflussen die Indizien)
--Die Fragen können nur mit JA oder Nein beantwortet sein.
-->Je nach der Antwort werden folgenden Indizien Beeinflusst sein:
°Das Volk,
°Die Partei,
°Das Geld
°und Die Armee.
--Die Indizien haben den Anfangswert 50 und man darf nicht 0 oder weniger Punkten bei irgendeinem Indizien haben.
--Man hat insgesamt 20 Sujet-Fragen und 20 Points-Fragen
--Jedoch werden nur 16 Fragen(jeweils 8 Sujet- und Points-Fragen) zufällig ausgegeben.
--Das Ende wird nur von den Sujet-Fragen beeinflusst sein.
--Die Points-Fragen haben die Aufgabe dem Spieler im Spiel zu halten oder ihn rauszuwerfen


}}} Mein Problem ist es, dass ich nicht weiß, wie ich schlau, die Indizien zum Ändern bringen kann und wie ich das alles mit GUI darstellen kann. Wir müssen es mit JavaFX graphisch darstellen{{{
Ich weiß, dass es dumm klingt. Ich selbst bin mit mir sehr unzufrieden und möchte das alles nachholen, um nie wieder solche dämlichen Fragen zu stellen
 

KonradN

Super-Moderator
Mitarbeiter
Ich weiß, dass es dumm klingt. Ich selbst bin mit mir sehr unzufrieden und möchte das alles nachholen, um nie wieder solche dämlichen Fragen zu stellen
Nein, das ist am Anfang durchaus normal. Und im Unterricht wird - nach meiner Erfahrung - in erster Linie die Sprache selbst beigebracht, aber eben keine wirkliche Vorgehensweise, wie man sowas angeht. (Und wenn owas Stoff ist, dann wird man mit UML und Co erschlagen und hat dann Formalismen aber keine saubere Herangehensweise!)

Eine Möglichkeit ist (ich stelle jetzt einen agilen Ansatz vor - es gibt aber diverse andere Möglichkeiten):
a) erst einmal identifizieren, was für Features es gibt. Features können hier z.B. User Stories sein. Du beschreibst einzelne Schritte, die in der Software möglich sind.
"Als <Spieler> möchte ich <Points Fragen richtig beantworten können> damit <ich meine Indizien verbessen kann>."
Das ist ein typischer Aufbau für eine User Story: "Als ... möchte ich ... damit ..."

b) Wenn man das hat, dann sortiert man das. Da sind dann Abhängigkeiten wichtig. So ist die User Storie vom Spieler, der Fragen beantwortet klar nach einer Story "Als Admin möchte ich Fragen erfassen, damit Spieler diese später beantworten können."

Wenn Du dann sowas hast, dann gehst Du das im Detail durch. Du nimmst, da Du alleine bist, nur die oberste Story. Und dann musst Du überlegen:
c) Abnahmekriterien: Was muss gelten, damit die Story als abgenommen gilt. Beispiel:
"Als Admin möchte ich Fragen erfassen, damit Spieler diese später beantworten können."
-> Es gibt zwei Arten von Fragen (s.o.)
-> Jede Frage besteht aus einem Text und der Antwort (Ja / Nein)
-> Fragen werden gespeichert in einer Datei.
-> Fragen können aus der Datei geladen und angezeigt werden

d) Dann setzt Du das um.
-> Du schreibst eine Klasse Question mit den notwendigen Feldern.
-> Du schreibst eine Klasse, die die Fragen verwaltet, es gibt Methoden zum hinzufügen, speichern und laden. (Da nicht spezifiziert wurde, wie gespeichert wird, kannst Du da was nutzen, das Du willst. Binary Serialisierung? JSON? XML? Ganz Dir überlassen!)

Und so gehst Du die User Stories durch. Nach jeder abgeschlossenen User Story kannst Du überlegen: Gibt es änderungen? Evtl. wird eine User Story nicht mehr gebraucht? Oder es wird eine verändert? Oder es gibt neue? Die Reihenfolge ist evtl. anders?


Wenn man diesen agilen Ansatz so nicht durchexerzieren möchte, dann kann man auch einfach Datenbasiert heran gehen:
-> Was für Daten brauchst Du so? Dann hast Du die Fragen und die Verwaltung der Fragen. Du hast Indizien mit irgendwelchen Werten. Du hast ein Spiel und in dem sind die Liste der unbeantworteten Fragen, eine gewisse Anzahl Spieler, Jeder Spieler hat Indizien, ....
-> Dann implementierst Du die Daten selbst. Das sind dann erst einmal reine Entity Klassen die noch kein Verhalten groß haben.

-> Und dann fügst Du nach und nach Verhalten hinzu: Fragen speichern / laden z.B. Dann dass ein Spiel erzeugt wird. Dass Spieler irgendwas machen können ...

Am Ende, wenn das Spiel so funktionieren würde (Das sollte immer per Unit Tests sicher gestellt sein!), dann baust Du die Oberfläche. Die Daten, die Das Spiel so hat, werden da dann angezeigt und User Events werden dann umgewandelt in entsprechende Aktionen auf deinem Model (So nennt man das, was wir vorher aufgebaut haben).

Das ist so ein einfaches Vorgehen. Das ist auch etwas, das ich in dem JAdventure versucht habe etwas aufzuzeigen. Evtl. schaust Du Dir das auch einmal an. Es ist bei weitem nicht fertig und ich habe auch keine Ahnung, ob es gut ist. Aber Du kannst es Dir anschauen (und mir dann auch gerne Deine Meinung sagen. Ich brauche keinen Honig um mein Maul geschmiert - sachliche Kritik ist mir lieber: Das ist für dich absolut unbrauchbar, weil ......)
 

M.L.

Top Contributor
intensiver mit Java ... JavaFX
Generell erwartet der Java Compiler die Einhaltung der formellen Syntax (im Minimalfall: alle Methoden-/Variablen-Definitionen innerhalb wenigstens einer Klasse, static void main-Methode). Schlagwörter wie User Stories, UML, Schichtenaufteilung, Clean Code, ... dienen dem Menschen zum einfach(er)en Schreiben / Erweitern / Ändern /... des Codes.

Für JavaFX könnte noch die IDE von Interesse sein: JavaFX Installation

Und der Java-Code muss nicht zwingend der neuste und aktuellste (aktuell Java 20. Java 8 sollte im Minimalfall genügen) sein, siehe Bericht bei Informatik Aktuell
 

White_Fox

Top Contributor
Ich weiß, dass es dumm klingt. Ich selbst bin mit mir sehr unzufrieden und möchte das alles nachholen, um nie wieder solche dämlichen Fragen zu stellen
Dämliche Fragen werden immer wieder kommen. Je mehr man weiß desto mehr sieht man, was man alles nicht weiß. Also gewöhn dich besser dran. ;)
Zu den Büchern von Konrad würde ich noch "Entwurfsmuster von Kopf bis Fuß" hinzufügen, aber das lies erst wenn du mit Java von Kopf bis Fuß durch bist. Für Programme mit mehr als 100 Codezeilen sollte man schon gewisse Strukturen kennen, da ist das sehr hilfreich.

Haben Sie vielleicht einige Tipps für mich, wie ich dabei am besten vorgehen kann?
Mein Prof sagte: Programmieren lernt man nur dadurch, daß man programmiert. Und Recht hat er damit gehabt. Insofern ist so ein Spiel schon ein guter Anfang.
 

triade

Aktives Mitglied
Hallo, ich bin ein Student und studiere im zweiten Semester Informatik. Im ersten Semester habe ich Java gelernt und musste ein Projekt abgeben. Leider habe ich es nicht geschafft, da ich nicht wusste, wie ich vorgehen sollte. Dennoch möchte ich mein Studium erfolgreich abschließen und mich gerne intensiver mit Java beschäftigen. Haben Sie vielleicht einige Tipps für mich, wie ich dabei am besten vorgehen kann? Vielen Dank im Voraus
Hallo, was dabei helfen kann wenn du nicht weiß wie du vorgehen weillst, wie und wo man anfängt ist es empfehlenswert, wie mein Lehrer es immer predigt ein Diagramm zu erstellen. ob dies mit Stift und Papier oder online (app.diagrams.net empfiehlt sich) zu erstellen. Zu deinen Wissenslücken, schreib dir stichpunktartig auf was du nicht kannst und arbeite die Punkte ab Tag für Tag ein Punkt. Und da oder verwendest du Yt, Bücher, hier das Forum, einfach irgentwelche seiten oder auch was dir schnell und genaue Antworten liefert ne KI. Und zur der KI, diese kann dir deinen Lernprozess sehr vereinfachen. Zum einen durch das erklären von bestimmten Sachen, wenn dein Code nicht klappt, du wissen möchtest wie du etwas machen musst (Vorgehensweise) , was man zum programmieren von xy benötigt, nach Programmier Ideen(Auch passend zu dem was du lernen möchtest oder was du intensivieren/üben möchtest.), Lösungen und sonst was. Allerdings eben nicht von ihr alles vorschreiben lassen, außer du kommst nd weiter und möchtest NUR ein Bsp oder eine Lösung zum Lernen. Aber sonst integriere diese in deinen Lern Stil zur Verbesserung deines Lernprozesses. Hoffe dies kann die weiterhelfen, bin allerdings so vom java wissen ein absoluter Anfänger daher kann ich dir da nd weiterhelfen :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Möchte JAVA Lernen Java Basics - Anfänger-Themen 23
T Möchte Charwert 23C° mit java.util.Scanner einlesen macht Pr Java Basics - Anfänger-Themen 2
G Möchte Java verstehen Java Basics - Anfänger-Themen 11
A Möchte Java - Chat in meine Homepage einbinden. Java Basics - Anfänger-Themen 4
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
N Erste Schritte HelloWorld möchte einfach nicht laufen Java Basics - Anfänger-Themen 11
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
L Anfängerin möchte Linie zeichnen Java Basics - Anfänger-Themen 8
I erstelle Vorschaubild mit der lib PDF-Renderer und möchte danach Dateiname ändern -> geht aber nicht Java Basics - Anfänger-Themen 0
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
J Möchte gern den Konsolen Output auf JTextPane umleiten Java Basics - Anfänger-Themen 4
A Interface Ich möchte eine Zeichenumgebung Java Basics - Anfänger-Themen 16
S Schleife möchte nicht funktionieren Java Basics - Anfänger-Themen 5
A Möchte mich vorstellen Java Basics - Anfänger-Themen 24
K Ich möchte in einem Text Editor cut, copy ,paste einfügen! Java Basics - Anfänger-Themen 2
E PopupMenu öffnet nicht so wie ich möchte Java Basics - Anfänger-Themen 2
M möchte in konstrukturaufruf eine bedingte anweisung haben. Java Basics - Anfänger-Themen 6
T Möchte ein neues Objekt erzeugen mit Wert von anderem Objekt Java Basics - Anfänger-Themen 9
X Habe Set, möchte List Java Basics - Anfänger-Themen 3
R Möchte einen anderen Hintergrund, weis nicht wie? Java Basics - Anfänger-Themen 7
D Ich möchte im JFrame einen Scrollbalken. Java Basics - Anfänger-Themen 5
7 Möchte lediglich zwei Zahlen addieren. Java Basics - Anfänger-Themen 5
M hilfe :} möchte servlet daten erfasssen-> hashmap speiche Java Basics - Anfänger-Themen 3
S Möchte Jave Applet vie URL laden NOOOB Java Basics - Anfänger-Themen 7
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben