在对象

时间:2015-10-16 21:20:00

标签: java arrays oop tostring

我的课程GametoString方法。

我想使用嵌套的for循环遍历数组,然后对于此数组的指定索引中的每个Tile元素,根据Tile&#39打印出特定的字符串;我在toString类中编写的Tile方法内的属性。

如果这是适当的逻辑,我该如何实现?我无法在两个toString方法之间正确匹配参数。

public String toString(tileArr){
    for(int i = 0; i < rows; i++){      
        for(int j = 0; j < columns; j++){ 
            tileArr[i][j].toString(t);
        }   
        System.out.print("\n");
    }
    return "";
}

1 个答案:

答案 0 :(得分:3)

您正在混淆两个概念:在内存中创建字符串以及打印。

你的toString()方法不应该调用System.out.println()。相反,它应该只是创建一个字符串,可以由一些调用者打印。

此外,如果您尝试提供传统的toString()方法,则不会采取任何参数。由于它是一个实例方法,因此它可以访问对象的字段。

public class Game {
  private int rows, columns;
  private int tileArr[][];

  ...

  public String toString(){
      StringBuilder builder = new StringBuilder();
      for(int i = 0; i < rows; i++){      
         for(int j = 0; j < columns; j++){ 
            builder.append( tileArr[i][j].toString() );
            builder.append(" "); // If tiles need to be separated.
         }   
         builder.append("\n");
      }
      return builder.toString();
   }
}