Headfirst: 'Java' - Lösungen

New member
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 < [B]3[/B]){
      System.out.[B]print[/B]("Doo");
      System.out.[B]print[/B]("Bee");
      x=x-1;
      }
 
      if (x == [B]3[/B]){
        System.out.print("Do");
      }
   }
}

Ausgabe soll "DooBeeDooBeeDo" sein. :rulez:
An sich ein leichter Syntax .. jedoch würde ich trotzdem gerne wissen, ob es auch stimmt.
Oder auf Seite 14 dieses "Bierzähl"-Programm :)fresse:) 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.
 
Zuletzt bearbeitet:
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.
 
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 ([B]x < 4[/B]) {
 
   [B]System.out.print("da");[/B]
   if (x < 1 ) {
      [B]System.out.print(" ");[/B]
 
  }
  [B]System.out.print("s");[/B]
 
  if ( x < 1) {
      [B]System.out.print("kind");[/B]
     [B]x = x + 2;[/B]
 
 }
 if (x == 1) {
     [B]System.out.print("itzend");[/B]
 
 }
 if (x < 1); {
   [B]System.out.print("agt");[/B]
 }
 System.out.println(" ");
 
 [B]x = x + 1;[/B]
 
}
}
}


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
 
Zuletzt bearbeitet:
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...
 

Online-Statistiken

Zurzeit aktive Mitglieder
0
Zurzeit aktive Gäste
212
Besucher gesamt
212

Beliebte Forum-Themen

X
Keine passende Antwort gefunden?