8x8 2D 배열에서 문자열을 체스 조각으로 사용하여 간단한 체스 보드를 만들려고합니다. 그러나 출력물은 내가 원하는대로 출력되지 않습니다. 배열이 내려갑니다. 여기에 내 코드입니다. (미안 내 언어 나 프로그래밍에 너무 좋은 아니에요) :체스 보드 용 자바 2D 배열이 작동하지 않습니다.
public class ChessBoard {
String[][] board = new String[8][8];
public void fillBoard() {
//Fills the empty spaces
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
board[i][j] = " ";
}
}
// Rooks
board [0][0] = "R";
board [0][7] = "R";
board [7][0] = "R";
board [7][7] = "R";
// Knights
board [0][1] = "N";
board [0][6] = "N";
board [7][1] = "N";
board [7][6] = "N";
//Bishops
board [0][2] = "B";
board [0][5] = "B";
board [7][2] = "B";
board [7][5] = "B";
//Queens
board [0][3] = "Q";
board [7][3] = "Q";
//Kings
board [0][4] = "K";
board [7][4] = "K";
//Pawns
for (int i = 0; i < 8; i++) {
board[1][i] = "P";
board[6][i] = "P";
}
}
public void presentBoard() {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
System.out.println(board[i][j]);
}
System.out.println();
}
}
}
출력입니다 무언가 같은 :
R
N
B
Q
K
B
N
R
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
R
N
B
Q
K
B
N
R
그러나 의도는이 출력했다 :
R N B Q K B N R
P P P P P P P P
P P P P P P P P
R N B Q K B N R
내가 뭘 잘못하고 있니?
편집 : 나는
public void presentBoard() {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
System.out.println(board[i][j] + " "); //this line
}
System.out.println();
}
}
을 변경 한 그러나 아무 반응이 없습니다. 새로운 라인
public void presentBoard() {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
System.out.print(board[i][j] + " ");
}
System.out.println();
}
}
System.out.println()
인쇄 :
([I] [J] 보드) '에서 System.out.println 변경 시도 [I] [J] System.out.print (보드'에 '+' ');':) –
내 대답이 도움이 되었다면, 답 점수 아래에있는 회색 눈금을 클릭하십시오. 그렇지 않다면 질문을 수정하고 잘못된 것에 대한 정보를 추가하십시오. – xenteros
작동하지 않습니다. 그것은 같은 출력입니다. –