"Java von Kopf bis Fuß" - Code f.e. Spiel - komme nicht weiter

I.E.

Mitglied
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?

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 
}
}
 

I.E.

Mitglied
Übersehen! Der Teufel steckt im Detail... ich werde morgen sehen, ob die anderen Fehlerstellen durch diese Korrektur vielleicht aus der Welt geschaffen werden.

Danke erst einmal.
 

Neue Themen


Oben