2016-12-11 1 views
-1

Ich habe vier Klassen Teil, Schlachtschiff und Board, Spiel. In der Teileklasse habe ich eine toString-Methode, die in der Battleship-Klasse aufgerufen wird. In der Battleship-Klasse I eine toString-Methode, die in der toString-Methode aufgerufen wird, die in der Klasse Board ist. Ich brauche die toString Methoden für jedes Objekt (Schlacht) in einer anderen LinieWie druckt man die toString eines jeden Objekts in einer anderen Zeile mit einer toString in einer anderen Klasse?

public class Part 
{ 

    public String toString() 
    { 

     if (destroyed == true) 
     { 
      return "[X]"; 
     } 
     else 
     { 
      return "[]"; 
     } 
    } 
} 

zweiter Klasse zu nennen:

public class Battleship 
{ 
    private Part[] part; 
    public String toString() 
    { 
     String result = ""; 

     for (Part p: part) 
     { 
      result += p.toString(); 
     } 
     return result; 

    } 
} 

Dritte Klasse:

public class Board 
{ 
    private Battleship[] battleships = new Battleship[5]; 

    public String toString() 
    { 
     String result = ""; 

     for (Battleship b: battleships) 
     { 
      result += b.toString(); 
     } 

     return result; 

    } 
} 

Die vierte Klasse (Fahrer)

public class Game 
{ 
    public static void main(String[] args) 
    { 

     Board testmeBoard = new Board(); 

     System.out.println(testmeBoard.toString()); 


    } 
} 

Bitte beachte, dass jedes Schlachtschiff eine andere Anzahl von Teilen hat. Ich weiß, wie man if eine Aussage dafür verwendet, aber ich bekomme so etwas [] [] [] [] [] [] [] [] [] [] [] [], stattdessen möchte ich den toString für jedes Schlachtschiff ausdrucken in einer anderen Zeile.

Bitte, wenn etwas nicht klar ist, kommentieren Sie es und ich werde sofort antworten. Vielen Dank für Ihre Zeit

+0

Wo ist Ihr Hauptcode? –

+0

Wie wäre es mit 'result + = b.toString() +" \ n ";'? Meinst Du das? – thatguy

+0

Was genau möchten Sie drucken? –

Antwort

0

Versuchen

result += b.toString() + "\n"; 

Sie allerdings eine Rückleitung nach dem letzten Druck haben.

+0

Vielen Dank! Es funktionierte –

+0

Wenn Sie nur den Kommentar kopieren und einfügen, formatieren Sie es zumindest richtig. – thatguy

+0

nein, wir antworteten zur gleichen Zeit, oder zumindest ich habe keine Benachrichtigung in der Zeit –

Verwandte Themen