如何使用另一个类中的toString在不同的行中打印每个对象的toString?

时间:2016-12-11 22:47:34

标签: java

我有四个部分,战舰和棋盘,游戏。在part类中,我有一个在Battleship类中调用的toString方法。在Battleship类中我是一个toString方法,它在类Board中的toString方法中调用。我需要在不同的行中为每个对象(战舰)调用toString方法

public class Part 
{

   public String toString()
   {

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

第二课:

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

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

    }
}

第三课:

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

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

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

        return result;

    }
}

第四节课(司机)

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

        Board testmeBoard = new Board();

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


    }   
}

请注意,每艘战舰的部件数量不同。我知道如何使用if语句,但我得到类似这样的[] [] [] [] [] [] [] [] [] [] [] []。相反,我想为每个战舰打印toString在另一条线上。

如果有什么不清楚请注释,我会立即回复。 非常感谢你的时间

1 个答案:

答案 0 :(得分:0)

尝试

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

在最后一次打印之后你会有一条回程。