2014-06-19 76 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

如果我回答了一個複選標記是傳統的:) –