簡體   English   中英

如何在一行上而不是按順序打印數組值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM