Hallo,
ich befinde mich gerade im Kapitel 5, das Buch will demnächst ein Schiffe-Versenken-Spiel programmieren, und bereitet den Leser erst einmal durch eine Light-Version des Spiels vor.
Das Buch liefert mehrmals Codes, bei denen es selbst sagt, dass sie einen Bug haben, nur wird die Lösung für diesen bestimmten Code später nirgendwo offenbart. Man soll halt selbst rausfinden, warum es nicht funzt. Ich habe zwar einige Ansätze in die Wege geleitetet, komme jetzt an einem Punkt aber nicht weiter.
Hier ist der Code. Im ersten Teil gab das Buch nur die prüfDich-Methode an. Ich habe die beiden Variablen und die Setter-Methode instanziiert, nur komme ich jetzt nicht darauf, was in der Letztgenannten für eine weitere Variable reinkommt. Außerdem meint das Programm, dass es kein int zu boolean konvertieren kann. Was soll ich jetzt machen, damit das Programm funktioniert?
ich befinde mich gerade im Kapitel 5, das Buch will demnächst ein Schiffe-Versenken-Spiel programmieren, und bereitet den Leser erst einmal durch eine Light-Version des Spiels vor.
Das Buch liefert mehrmals Codes, bei denen es selbst sagt, dass sie einen Bug haben, nur wird die Lösung für diesen bestimmten Code später nirgendwo offenbart. Man soll halt selbst rausfinden, warum es nicht funzt. Ich habe zwar einige Ansätze in die Wege geleitetet, komme jetzt an einem Punkt aber nicht weiter.
Hier ist der Code. Im ersten Teil gab das Buch nur die prüfDich-Methode an. Ich habe die beiden Variablen und die Setter-Methode instanziiert, nur komme ich jetzt nicht darauf, was in der Letztgenannten für eine weitere Variable reinkommt. Außerdem meint das Programm, dass es kein int zu boolean konvertieren kann. Was soll ich jetzt machen, damit das Programm funktioniert?
Java:
public class EinfachesDotCom {
int anzahlTreffer = 0;
int[] zellorte = {1,2,3,4,5,6,7};
public void setZellorte(int[] ?) {zellorte = ?;}
public String prüfDich(String stringTipp) { //im Buch steht nichts davon, was eine Methode mit String sein soll
int tipp = Integer.parseInt(stringTipp);
String ergebnis = "Vorbei";
for (int zelle : zellorte) {
if (tipp = zelle) {ergebnis = "Treffer"; anzahlTreffer++; break; }
} // von int zu boolean konvertieren geht nicht
if (anzahlTreffer = zellorte.length) { ergebnis = "Versenkt"; }
System.out.println(ergebnis);
return ergebnis;
}
}
Java:
public class EinfachesDotComTestlauf {
public static void main (String[] args)
{
EinfachesDotCom dotCom = new EinfachesDotCom(); // Objekt-Fernbedienung erstellt
int[] orte = {4,5,6}; // int-Array erstellt
dotCom.setZellorte(orte); // per Setter-Methode den Objekt mit dem Array verknüpft - das Objekt hat die Array-Eigenschaften
String tipp = "2"; //Tipp abgeben
String ergebnis = dotCom.prüfDich(tipp); // Prüfungsergebnis = Objekt-Schiff.geprüft(Tipp); - ja oder nein - Tatsachenfeststellung
String testErgebnis = "Fehlgeschlagen"; //Prüfungsergebnis-Wort - NEIN
if (ergebnis.equals("Treffer")) {testErgebnis = "Bestanden";} // wenn Prüfungsergebnis ja - Prüfungsergebnis-Wort - JA
System.out.println(testErgebnis); // Prüfungsergebnis-Wort anzeigen
}
}