[英]Java console output using two dimensional arrays
我正在尋找有關如何從左到右打印二維數組的見識,而不是在頁面上用換行符層疊。
我已經為一個大學的AI課程編寫了一個簡單的程序,可以解決9小塊游戲。
public void printNode(){
for(int i = 0; i < 3; i ++){
System.out.printf("[ ");
for(int k = 0; k < 3; k++){
System.out.printf(" " + state[i][k] + " ");
}
System.out.printf("]\n");
}
}
這樣就可以毫無問題地打印二維數組。
但是我正在尋找一種從左到右打印數組的方法,因此我不必上交50多頁的轉換即可證明我的程序有效。 有人解決過這個問題嗎?
[ 1 2 3 ] [1 2 3]
[ 8 0 4 ] [8 0 4]
[ 7 6 5 ] [7 6 5]
這是我要創建的效果。 轉換的解決方案路徑是一系列指向鏈上的指針。 我的每個Node都有一個指向其祖先的指針。 因此,我可以輕松地將指針向后移動並全部打印出來。
我不會在這里詳細介紹實現細節,但是您可以按照以下步驟進行操作
[1 2 3] [1 2 3]
[1 2 3] [1 2 3]
[8 0 4] [8 0 4]
[1 2 3] [1 2 3]
[8 0 4] [8 0 4]
[7 6 5] [7 6 5]
本質上,您迭代每個等於其高度的矩陣。 如果它們的高度不同,則可以開始跳過較短的高度,而只需在其位置留一個空白。
public void printTwoNodes(int arr[], int arr2[]){
for(int i = 0; i < 3; i ++){
System.out.printf("[ ");
for(int k = 0; k < 3; k++){
System.out.printf("" + arr[i][k] + " ");
}
System.out.printf("]");
System.out.printf("[ ");
for(int j = 0; j < 3; j++){
System.out.printf("" + arr2[i][j] + " ");
}
System.out.printf("]\n");
}
}
可以而且應該改進
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.