2014-06-19 77 views
-1

公共类chessboardUsingArray {为什么我的输出搞砸了打印2维数组?

private Car[][] myBoard = new Car[8][8]; 

public chessboardUsingArray() { 

    // make sure at the end of this constructor, myBoard is 8x8 and each car 
    // in it is set to NULL 

    for (int x = 0; x < myBoard.length; x++) { 
     for (int y = 0; y < myBoard[x].length; y++) { 

      myBoard[x][y] = null; 
      // System.out.print(myBoard[x][y] + " "); 

     } 

     // System.out.println(); 

    } 
} 

public void printBoard() { 

    for (int x = 0; x < myBoard.length; x++) { 
     for (int y = 0; y < myBoard[x].length; y++) { 

      Car defaultCar = myBoard[x][y]; 
      if (defaultCar != null) { 
       System.out.println(" " + defaultCar.getMake() + " "); 
      } else { 

       System.out.print(" X "); 
      } 

     } 

     System.out.println(); 

    } 

} 


public boolean placeCar(int y, int x, Car myCar) { 

    if (x >= 0 && x < 8 && y >= 0 && y < 8) { 

     if (myBoard[x][y] == null) { 

      myBoard[x][y] = myCar; 
     } 
    } 

    return false; 
} 

的地方车功能应该把一辆车指定的坐标和指定返回一切与X。当我尝试将汽车放在位置(2,3)时,发生这种情况...汽车正确放置,正如您可以看到的H,但是其他位置消失了吗?

X X X X X X X X
X X X X X X X X
X X X X X X X X
X x高 X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X

五个X“s到H的右侧消失在它下面的做其他三人。 idk为什么它没有正确显示。有任何想法吗?感谢

+0

你看上去永远不会调用'placeCar' ... –

回答

2

您正在使用的汽车品牌,这导致之后X的println()中显示的下一行

+0

LOL谢谢你!这样的小东西,这是一个主要的头痛 – user3757408

+0

如果我回答了一个复选标记是传统的:) –