[英]How to print Array Values on one line, not in a sequence
這是來自斯坦福大學《 Java藝術與科學》一書的第10章第10章(我是一名專職醫生,在業余時間自學使用Java編程方法的入門[Python是我未來醫學研究的真正目標項目],所以我是個流血的初學者。 我沒有編程方面的導師,希望得到您的幫助。
練習:將字符串輸入數組。 我解決了數組填充的問題。
問題:我用數據填充2d數組,沒問題,但是我如何連續打印數組的結果以使其看起來像棋盤呢? “ b”代表董事會一半的“黑色”棋子。
輸出應為:
b b b b
b b b b
b b b b
etc....
我所有的p最終都打印在1列中,而不是連續打印,這是輸出和我的問題:
b
b
b
b
b
等等...
我的代碼:
public void run() {
setFont("Helvetica-40");
displayCheckerboard(setBoard());
}
private String[][] setBoard() {
for (int row = 0; row<8; row++) {
for (int col =0; col<8; col++) {
if (row == 0 && col %2 ==0) {
cBoard[row][col]= " ";
} else if (row==0 && col%2!=0) {
cBoard[row][col]= "b";
}else if (row==1 && col %2!=0) {
cBoard[row][col]= " ";
} else if (row==1 && col%2==0) {
cBoard[row][col]= "b";
} else if (row ==2&& col%2 !=0) {
cBoard[row][col]= "b";
} else if( row == 2 && col%2 ==0) {
cBoard[row][col]= " ";
} else if (row ==3&& col%2 ==0) {
cBoard[row][col]= " -";
} else if( row == 3 && col%2!=0) {
cBoard[row][col]= " ";
}
//....continue here if code works...
}
}
return cBoard;
}
private void displayCheckerboard(String board[][]) {
for (int row=0; row<8; row++) {
for (int col=0;col<8; col++) {
print(board[row][col]);
}
}
}
String cBoard[][] = new String[8][8];
}
想法是在打印完字符串后將所有值保存在字符串變量中。 對於每個內循環迭代,您獲得的值將附加到字符串變量str 。 這可以解決問題。
String str ="";
for (int row=0; row<8; row++) {
for (int col=0;col<8; col++) {
str += " "+board[row][col];
}
print(str); // prints values in row
}
您可能正在使用System.out。 println ()每次調用時都會打印一個新行。 如果要多次打印而沒有為每個字符串換行,請使用System.out。 print ()這樣,您可以將程序編寫為
for (int row=0; row<8; row++) {
for (int col=0;col<8; col++) {
System.out.print(board[row][col]);
}
System.out.println() //go to next line after every row
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.