Übung: Ratespiel aus dem Buch Java von Kopf bis Fuß

Felge

Mitglied
Hallo Zusammen,

hätte nicht gedacht, dass ich eigentlich schon bei der nächsten Übung aus dem o. g. Buch wieder hier anklopfe. Ich habe dafür den Beitrag mit den 99 Bierflaschen als "Erledigt" markiert. Ich hoffe, das war die richtige Vorgehensweise. Vielen Dank nochmal für die Tips.

Ich bin jetzt bei diesem Ratespiel angekommen und möchte nur einmal fragen ob hier folgende Vorgehensweise richtig ist.
Es gibt ja für dieses Spiel 3 Klassen.
Für jede dieser Klassen habe ich auch eine einzelne *.java Datei erstellt und kompiliert.
Ist das so richtig ?

Abschließend habe ich dann die Datei SpielStarter aufgerufen und sie wird auch ausgeführt.
Ist es denn richtig, dass jede einzelne Klasse eine eigene Java-Datei ist ?

Vielen Dank und Grüße

Felge

PS
Gar nicht so einfach alles.
Ich hoffe, dass man mit dem Buch auch weitermachen kann; auch, wenn einem vielleicht nicht immer sofort alles klar erscheint. Ich habe die Hoffnung, dass später noch einige "Aha"-Effekte kommen.
 

Fab1

Top Contributor
Es gibt ja für dieses Spiel 3 Klassen.

Bis auf ein paar Ausnahmen stellt in der Regel eine *.java Datei eine Klasse dar. Und wenn in der Aufgabe oder Übung steht das 3 benötigt werden, sollte das auch stimmen.

Abschließend habe ich dann die Datei SpielStarter aufgerufen und sie wird auch ausgeführt.
Ist es denn richtig, dass jede einzelne Klasse eine eigene Java-Datei ist ?

Wenn die SpielStarter Klasse die Main-Methode enthält, dann ist das so richtig ja. Werde aber gleich nochmal im Buch blättern und mir die Aufgabe anschauen, da ich sie gerade nicht im Kopf habe.

Gar nicht so einfach alles.
Ich hoffe, dass man mit dem Buch auch weitermachen kann; auch, wenn einem vielleicht nicht immer sofort alles klar erscheint. Ich habe die Hoffnung, dass später noch einige "Aha"-Effekte kommen.

Das Buch ist ja genau so aufgebaut, dass wenn man etwas nicht gleich versteht, dass es später nochmal erklärt wird. In den "Punkt zu Punkt" Kästchen zum Beispiel. Aber du machst es eh richtig, du fragst nach wenn du etwas nicht verstehst. Bei mir hab ich am Anfang immer ein Auge zugedrückt und mir gedacht, ach das kommt schon mit der Zeit. :toll:


Edit: Ist es der Phrase-O-Mat?
 
Zuletzt bearbeitet:

Mofi

Bekanntes Mitglied
@GEEK
So wie er es beschreibt klingt es einw enig nach dem Zahlenratespiel...Allerdings bin ich da nicht 100% sicher, da ich die ganzen Beispiele nicht mehr im Kopf habe, aber irgendein Ratespiel mit Zahlen war dabei...Da gabs auch mehrere Klasse. (Spieler, Starter und noch irgendwas)


Aber ansonsten:
Ja normalerweise macht man für jede Klasse eine eigene Datei. Vorallem jede Klasse die als public markiert ist muss in eine eigene Datei. Das liegt daran, dass eine public Klasse in einer Datei liegt die den gleichen Namen wie die Klasse trägt.
Sind die Klassen nicht public kann man auch mehrere in eine Datei tun, ist aber eher unüblich, da auch viele Klassen eh public sind (Man könnte sie sonst ja auch nicht in anderen Paketen benutzen)
 

Fab1

Top Contributor
@GEEK
So wie er es beschreibt klingt es einw enig nach dem Zahlenratespiel...Allerdings bin ich da nicht 100% sicher, da ich die ganzen Beispiele nicht mehr im Kopf habe, aber irgendein Ratespiel mit Zahlen war dabei...Da gabs auch mehrere Klasse. (Spieler, Starter und noch irgendwas)

Ja, hab mir das Buch angeschaut und auch ein paar Seiten weiter geblättert, aber nach dem 99 Flaschen Code, hab ich nicht wirklich etwas gesehen das hätte passen können. Wohl überlesen.
 

Felge

Mitglied
Ich finde das irgendwie auch ziemlich verzwickt bzw. für mich am Anfang gar nicht so einfach mit den Klassen, Objekten und Methoden. Das ist für mich bestimmt doppelt schwierig, weil ich aus einer Anwendung komme, die mit einer Datenbank zusammenarbeitet. Heißt, dass ich immer Daten irgendwo eingeben bzw. rausbekommen muss.

Aber habe ich das insoweit richtig verstanden, dass eine Klasse bspw. ein Auto ist. Und dieses Auto hat einige Eigenschaften wie bspw. Türanzahl, Farbe usw. Ich kann dann ein Auto erstellen, welches bspw. die Farbei rot hat und ein Auto, welches die Farbe blau hat. Dann sind diese beiden Autos Objekte. (???)
Das das Auto fahren und auch hupen kann sind METHODEN des Autos ???

Leider erschließt sich mir noch nicht ganz der Hintergrund. Mist. Benötige unbedingt den großen AHA-Effekt.. Ich könnte also theoretisch später einmal ein Programm schreiben, in dem ich auf einen Knopf klicke und aus dem blauen Auto ein rotes Auto mache ???
 

thoff430

Mitglied
Eine Klasse ist kein Auto, sondern sozusagen der Bauplan eines Autos. Die Objekte (die Autos selbst) haben dann die Eigenschaften, die du durch Instanzvarbiablen bestimmen kannst, und die "Fähigkeiten", bzw Methoden.

Um solche Geschichten wie Datenbanken mache ich mir im Moment überhaupt keine Gedanken (ich lerne Java auch erst jetzt). Das kommt schon, wenn es an der Reihe ist und danach immer wieder... man wird ja nicht nur einmal im Leben mit Datenbanken zu tun bekommen.
 
Zuletzt bearbeitet:

Fab1

Top Contributor
Es ist durchaus verständlich, dass es am Anfang sehr schwierig ist. Aber es ist wichtig das du diese Begriffe jetzt lernst richtig einzuordnen. Aber mit dem Buch sollte das wirklich kein Problem sein.

Als ich das Buch gelesen habe, habe ich zusätzlich noch die ein oder andere Aufgabe von Java-Aufgaben | tutego oder Project Euler gemacht. Ist einfach mal ein bisschen Abwechslung, die einem durchaus gut tut.
 

Felge

Mitglied
Noch eine Frage (ich hoffe ich werde nicht nervig):

Auf den ersten Seiten des Buchs, wo es um Klassen, Methoden und Objekte geht, wird ja immer wieder zu einer Klasse eine Testklasse erstellt. Hier ist das dann aber doch schon so, dass die beiden Klassen in einer Textdatei geschrieben werden oder ? Witzigerweise muss ich die Datei dann genau so nennen, wie die Testklasse heißt (ich glaube, weil das die Public-Klasse ist), sonst könnte ich die gar nicht kompilieren. Nun habe ich aber leider noch nicht ganz verstanden wofür eine solche Testklasse da ist.

Hier ist bspw. folgender Code (ich habe da schon ein wenig etwas modifiziert, weil ich wissen wollte ob das klappt). Das was ich wissen wollte funktioniert sogar. Aber welches Praxisbeispiel gibt es bzw. wofür sind diese Testklassen ? (Wenn ich zu anstrengend werde, bitte sagen!)

Java:
class Film {
   String titel;
   String genre;
   int bewertung;
   void vorführen() {
	System.out.println("Führe den Film vor");
	System.out.println(bewertung);
	System.out.println(titel);
}
}

public class FilmTestlauf {
	public static void main(String[] args) {
	
	Film eins = new Film();
	eins.titel= "Von der Krise verweht";
	eins.genre= "Tragisch";
	eins.bewertung= -2;

	Film zwei = new Film();
	zwei.titel= "Vier Deadlines und ein Todesfall";
	zwei.genre= "Komödie";
	zwei.bewertung= 5;
	zwei.vorführen();

	Film drei = new Film();
	drei.titel= "Byte Club";
	drei.genre= "Tragisch, aber letztendlich aufbauend";
	drei.bewertung= 127;
	drei.vorführen();

}
}

Grüße Felge
 
G

Gast2

Gast
Hier ist bspw. folgender Code (ich habe da schon ein wenig etwas modifiziert, weil ich wissen wollte ob das klappt). Das was ich wissen wollte funktioniert sogar. Aber welches Praxisbeispiel gibt es bzw. wofür sind diese Testklassen ? (Wenn ich zu anstrengend werde, bitte sagen!)

Die testklassen werden genutzt, da die ewigentliche Klasse Film in diesem Kontext alleine nicht ausführbar ist. Die Testklasse stellt die main Methode (Einsprungpunkt des Programms) zur Verfügung und erstellt in dieser einige Film Objekte nach dem bauplan der Film Klasse. Diese Test Klasse stellt demnach den Anwendungsfall der Film Klasse dar. Da Filme sich nicht selbst ausführen ist das der richtige Weg.

In einem richtigen Programm würde dann dieses die Film Klasse direkt verwenden und diese wäre auch public deklariert innerhalb einer Klassenbibliothek. Aber das lernst du später noch.

PS: Das Buch ist große Klasse! Habs für den Umstieg auf Java genutzt.
 

Felge

Mitglied
Vielen Dank. Ich glaube das habe ich verstanden. Ich habe oben in der Film-Klasse den Code mal um ein paar Zeilen ergänzt. Einfach, weil ich mal testen wollte ob das auch funktioniert:

Java:
	System.out.println(bewertung);
	System.out.println(titel);

Die tauchen nämlich so im Buch nicht auf.

Mir ist natürlich noch nicht ganz klar, was ich irgendwann einmal von den ganzen Dingen haben werde.
Aber wäre das eine denkbare Vorgehensweise ?
 
G

Gast2

Gast
Ja du hast deine Klasse Film in ihrere Funktionlität erweitert, indem die Methode vorführen() nun mehr macht als zuvor.

Man könnte aich aber auch vorstellen, der Klasse direkt eine Methode zeigeTitel() zu verpassen welche dann von vorführen() aufgerufen wird.

Wie man sich entscheidet ist in der Regel davon abhängig, ob man die Funktionalität mehrfach braucht (dann klar eine eigene Methode schaffen) und wie komplex die Aufgabe ist (Ich persönlich erstelle ab 3-5 Zeilen Code i.d.R. eine neue Methode auch wenns nureinmal gebraucht wird.)
 

thoff430

Mitglied
Hier ist das dann aber doch schon so, dass die beiden Klassen in einer Textdatei geschrieben werden oder ?

Ich benutze für jede Klasse eine eigene Datei, auch wegen der Übersicht. Weiß nicht, ob das nicht auch gängige Praxis ist. Wenn ich aber eine Klasse bearbeiten will, möchte ich einfach die Datei öffnen und damit anfangen und nicht erst überlegen, wo ich diese finden könnte und dann rumscrollen. Bei mehreren Klassen kann das doch recht schnell unordentlich werden, aber da musst du die Profis nochmal fragen. Ich persönlich sehe keinen Zweck darin, es in nur eine Textdatei zu schreiben. (gut, ich benutz darüberhinaus noch Eclipse, aber davon wird im Buch ja erstmal abgeraten :rtfm:).

Wie würde das dann aussehen ?

Ich glaube er meint sowas:

Java:
String zeigeTitel () {
    return titel;
}

Dann musst du in deiner vorführen-Methode nur noch die Zeile, die für den output sorgt durch diese Methode ersetzen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Übung Zahlworte Java Basics - Anfänger-Themen 14
M Array - Übung Java Basics - Anfänger-Themen 3
Der Grütz Verständnisfrage zu Übung aus Java Kurs - Schaltjahr bestimmen Java Basics - Anfänger-Themen 2
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
Kawastori Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6
T OOP Klausur-Übung Öpnv Java Basics - Anfänger-Themen 17
A Übung Else if Java Basics - Anfänger-Themen 2
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
parrot Array Übung Java Basics - Anfänger-Themen 25
T Programmierwettbewerb Übung Java Basics - Anfänger-Themen 73
G "Ladebalken" erstellen - Übung Java Basics - Anfänger-Themen 3
M JavaFX-Übung Autospiel Java Basics - Anfänger-Themen 4
B ShuttleBus - Übung Java Basics - Anfänger-Themen 3
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
B Rekursion - Übung Java Basics - Anfänger-Themen 2
T Klassen Kleine Übung zum Thema Klassen Java Basics - Anfänger-Themen 3
D Übung Felder java Error kompilieren Java Basics - Anfänger-Themen 4
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
M Übung Ausgabewerte kapier ich nicht ... Java Basics - Anfänger-Themen 1
D Übung zur Klausuraufgabe Java Basics - Anfänger-Themen 18
D OOP Hilfe zu Übung Laufzeitberechnung in Big O Java Basics - Anfänger-Themen 2
F Erste Schritte Übung zu Exceptions Java Basics - Anfänger-Themen 24
F Problem mit selbstprogrammierten Kalender (als Übung) Java Basics - Anfänger-Themen 4
B GUI- JTextField - Übung Java Basics - Anfänger-Themen 5
A Vererbung Verständnisproblem bei Übung Java Basics - Anfänger-Themen 5
EnHancEd[] OOP-Übung Java Basics - Anfänger-Themen 18
EnHancEd[] Exception Übung für Einsteiger Java Basics - Anfänger-Themen 14
T Methoden Array Übung Java Basics - Anfänger-Themen 7
F Übung 99 Flaschen Bier aus dem Buch Java von Kopf bis Fuß Java Basics - Anfänger-Themen 10
Dit_ Thread Synchronisation | Übung Java Basics - Anfänger-Themen 5
K Anfänger-Übung für Arrays Java Basics - Anfänger-Themen 2
C Java Übung Fragen Java Basics - Anfänger-Themen 3
E BlueJ und Zeichenketten. S83 Übung 2.72 Java Basics - Anfänger-Themen 3
F Upper Case Übung Java Basics - Anfänger-Themen 10
G Frage zu einer Übung Java Basics - Anfänger-Themen 11
A JSP - Probleme mit einer Übung Java Basics - Anfänger-Themen 3
G Problem mit Übung Java Basics - Anfänger-Themen 5
D Problem mit objektorientierter Übung Java Basics - Anfänger-Themen 2
A Java Übung Java Basics - Anfänger-Themen 14
C Bitte Hilfe bei Übung zu Verzweigungen Java Basics - Anfänger-Themen 16
T Ratespiel-Java von Kopf bis Fuß Java Basics - Anfänger-Themen 15
R Ratespiel mit Return und einer Eingabe Java Basics - Anfänger-Themen 1
I Java von Kopf bis Fuß: Ratespiel-Problem Java Basics - Anfänger-Themen 20
L Ratespiel Java Basics - Anfänger-Themen 22
F Ratespiel fuktioniert nicht :( Java Basics - Anfänger-Themen 2
J Ratespiel??? Java Basics - Anfänger-Themen 3
D Ratespiel Java Basics - Anfänger-Themen 2
frager2345 Java Klasse Buch verwalten Java Basics - Anfänger-Themen 0
S Kreisberechnung3 Buch: Programmieren lernen mit Java von Hans-Peter Habelitz Java Basics - Anfänger-Themen 39
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
H Stern Dreieck (Buch: Grundkurs Programmieren) Java Basics - Anfänger-Themen 2
J Datentypen Komm in einem Android Buch mit Java nicht weiter... Java Basics - Anfänger-Themen 7
S Java buch oder Kurse(udemy) Java Basics - Anfänger-Themen 4
H Welche IDE zum Buch "Programmieren mit Java" von Reinhard Schiedermeier des Verlags Pearson Studium Java Basics - Anfänger-Themen 19
N Das Java Buch von Daniel Lorig Java Basics - Anfänger-Themen 103
B VerständnisProblem mit Beispielaufgabe aus Buch Java Basics - Anfänger-Themen 1
V Buch:Programmieren lernen mit Java-Aufgaben zu schwer ? Java Basics - Anfänger-Themen 2
G Buch für Fortgeschrittene Java Basics - Anfänger-Themen 3
N Übungsaufgabe aus Java Buch bringt Fehler. Java Basics - Anfänger-Themen 10
R Operatoren Möglicher Fehler im Buch Programmieren lernen mit Java Java Basics - Anfänger-Themen 7
S Erste Schritte Suche nach einem guten JAVA-Buch (Definition im Thread) Java Basics - Anfänger-Themen 6
B Erste Schritte Listing aus Buch - wie geht das? Java Basics - Anfänger-Themen 6
H Buch: Java lernen mit BlueJ Modulo-Operator Java Basics - Anfänger-Themen 16
E Compiler-Fehler Quelltext aus Buch erzeugt Fehler Java Basics - Anfänger-Themen 3
F OOP Java, ein Buch mit sieben Siegeln Java Basics - Anfänger-Themen 13
J Bald erstes Java Buch durchgearbeitet - Wie gehts nun weiter? Java Basics - Anfänger-Themen 6
C Buch für Einsteiger gesucht Java Basics - Anfänger-Themen 2
Luk10 Buch für Swing/Awt/Graphics Java Basics - Anfänger-Themen 4
N überprüfungsschwierigkeit bei der klasse Buch Java Basics - Anfänger-Themen 6
M Alters berechnung aus Geburtsjahr aus dem Buch Java Basics - Anfänger-Themen 5
D Suche gutes Buch oder Tutorial Java Basics - Anfänger-Themen 3
K Java mit einem Buch lernen Java Basics - Anfänger-Themen 8
J Aufbauendes Java Buch Java Basics - Anfänger-Themen 8
W "Sprechen Sie Java?" suche dieses Buch gebraucht! Java Basics - Anfänger-Themen 11
V Buch empfehlung? Java Basics - Anfänger-Themen 10
A Am Buch lesen, nun brauch ich eure Hilfe um mir super() zu erklären Java Basics - Anfänger-Themen 4
D Testfragen aus dem Buch Java Basics - Anfänger-Themen 28
J Gutes Buch für Anfänger Java Basics - Anfänger-Themen 11
T Frage aus dem Buch JAVA ist auch eine Insel Java Basics - Anfänger-Themen 11
N Java lernen / Gutes Buch Java Basics - Anfänger-Themen 9
C Java Buch empfehlungen ? Java Basics - Anfänger-Themen 9
razwed4ik zum Beispiel aus Java Insel Buch Java Basics - Anfänger-Themen 7
S Hallo, ich hab hier ein Buch Java Basics - Anfänger-Themen 11
P Welches Buch ist für Einsteiger(fast) ohne Vorwissen passend Java Basics - Anfänger-Themen 7
T Code aus einem Buch geht nicht Java Basics - Anfänger-Themen 9
G Welches Java Buch kaufen? Java Basics - Anfänger-Themen 7
M Gutes einsteiger Buch? Java Basics - Anfänger-Themen 2
J Empfelenswertes Buch Java Basics - Anfänger-Themen 8
P Java beginner - Buch: Java- Einstieg für Anspruchsvolle Java Basics - Anfänger-Themen 6
A Erstes Buch durchgelesen, wie weiter vorgehen? Java Basics - Anfänger-Themen 8
G Probleme mit Buch! Java Basics - Anfänger-Themen 13
J Compiler + Gutes Buch Java Basics - Anfänger-Themen 2
K java buch empfehlung Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben