Obwohl es sich um ein Buch handelt, denke ich trotzdem, dass es in dieses Forum mehr wahr genommen wird, als im Off-Topic und ja auch hier her passt!
Ich habe das buch Headfirst Java nun einen Tag und bin eigentlich sehr zufrieden mit dem Buch. Die Autoren verstehen es, einen trotzallem der trockenen Thematik an die Programmiersprache zu binden.
Nun gibt es ja einige Aufgaben in diesem Buch, die es zu lösen gilt.
Wie z.B. auf der Seite 13 ..
Recht unten gibt es einen Lückentext, den es gilt zu vervollständigen.
Nur leider gibt es, nicht so wie bei anderen "Rätseln", keine Auflösung dazu.
Mein komplettierter Code:
Code:
public class DooBee{
public static void main (String[] args){
int x = 1;
while (x < 3){
System.out.print("Doo");
System.out.print("Bee");
x=x-1;
}
if (x == 3){
System.out.print("Do");
}
}
}
Ausgabe soll "DooBeeDooBeeDo" sein.
An sich ein leichter Syntax .. jedoch würde ich trotzdem gerne wissen, ob es auch stimmt.
Oder auf Seite 14 dieses "Bierzähl"-Programm () wo man herausfinden sollte, was an diesem Code nicht stimmt. (z.B. dass es keine Schleife gibt, welche den Umstand behandelt, wenn 'bierAnzahl <1' ist. Oder irre ich da?)
Auch diese "Pool"-Aufgabe auf Seite 24 verstehe ich nicht. Zumindest was den Aufbau der Schleifen angeht.
Ich hoffe, dass jemand das Buch kennt und mir bisschen auskunft geben kann.
Du solltest hinter System.out.print("Doo") und System.out.print("Doo") jeweils ein ; setzen. Dann sollte es stimmen.
17.02.2010, 16:11
Threadersteller
Vizjerai
Zitat:
Zitat von incredible-olf
Du solltest hinter System.out.print("Doo") und System.out.print("Doo") jeweils ein ; setzen. Dann sollte es stimmen.
Die waren ohnehin vorhanden, hab sie nur aus versehen ausgelassen. Danke trotzdem! Vorallem das mit dieser Pool Aufgabe würde mich interessieren!
17.02.2010, 16:24
pixelflat
Wie wärs wenn du einfach mal kurz die Aufgabe beschreibst? Das Buch hat vermutlich kaum jemand und ohne Text kann dir keiner sagen was du tun sollst. Überprüfen ob der Code richtig oder falsch ist, sollte doch das einfachste überhaupt sein? IDE starten, rein schreiben, starten...
In deinem Code-Beispiel hast du einen logischen Fehler: du setzt x auf den Wert 1 und überprüfst in einer Schleife ob x kleiner 3 ist. Allerdings verringerst du dann den Wert von x (auf 0, -1, -2...) => Endlosschleife. Das hättest du beim ausprobieren ziemlich schnell festgestellt.
Am Ende muss du das "Do" auch nicht in eine if-Anweisung setzen, weil der Teil sowieso immer da stehen soll. Der Wert von x ist dabei egal und es wird ja nach der Schleife ausgeführt.
17.02.2010, 16:38
Threadersteller
Vizjerai
Zitat:
Zitat von pixelflat
Wie wärs wenn du einfach mal kurz die Aufgabe beschreibst? Das Buch hat vermutlich kaum jemand und ohne Text kann dir keiner sagen was du tun sollst. Überprüfen ob der Code richtig oder falsch ist, sollte doch das einfachste überhaupt sein? IDE starten, rein schreiben, starten...
In deinem Code-Beispiel hast du einen logischen Fehler: du setzt x auf den Wert 1 und überprüfst in einer Schleife ob x kleiner 3 ist. Allerdings verringerst du dann den Wert von x (auf 0, -1, -2...) => Endlosschleife. Das hättest du beim ausprobieren ziemlich schnell festgestellt.
Am Ende muss du das "Do" auch nicht in eine if-Anweisung setzen, weil der Teil sowieso immer da stehen soll. Der Wert von x ist dabei egal und es wird ja nach der Schleife ausgeführt.
Ich habe lediglich das eingefügt, was dick geschrieben wurde. bezüglich der 'x < 3' Schleife obliegt das wiederum einem Schreibfehler von mir!
Restliches, auch deine kritisierte deklaration der variable x am Ende ist vom Buch so vorgegeben.
Code:
class PoolPuzzleEins {
public static void main(String[] args) {
int x = 0;
while (x < 4) {
System.out.print("da");
if (x < 1 ) {
System.out.print(" ");
}
System.out.print("s");
if ( x < 1) {
System.out.print("kind");x = x + 2;
}
if (x == 1) {
System.out.print("itzend");
}
if (x < 1); {
System.out.print("agt");
}
System.out.println(" ");
x = x + 1;
}
}
}
Das ist der Code aus diesem "pool" beispiel .. die dick geschriebenen "Befehle" sind jene, welche vorgegeben sind und wie bei einem Lückentext eintragen muss. Verstehe nur leider nicht den Sinn hinter der wirren Anordnung der Schleifen.
PS.: ausgabe soll übrigens:
Code:
da sagt
dasitzend
das kind
Danke,
viZ
Geändert von Vizjerai (17.02.2010 um 16:47 Uhr).
17.02.2010, 16:51
pixelflat
Als erstes solltest du dir angewöhnen Quelltext richtig einzurücken. Auch ist für Anfänger der ] nicht wirklich geeignet. Schreib lieber die geschweiften Klammern { } in eine neue Zeile... Eclipse kann Quelltext übrigens automatisch richtig einrücken.
Welche Anordnung der Schleifen meinst du? Es gibt nur eine. Alles andere sind Selektionen (if, switch) innerhalb der Iteration (Schleife). Die Ausgabe von dem Quelltext wäre:
Code:
da skindagt
dasagt
Scheint so nicht ganz richtig zu sein. Vermutlich musst du irgendeinen Satz zusammen basteln...