[英]Java HW, Printing out a multidimensional array of Ints, with Strings/characters
我做了一個N Queens java項目,要求我打印出一個多維數組,顯示可以放置Queens的位置。 我的數組是整數。 它在適當的位置打印出1和0。 我想知道是否有一種方法可以在不將數組更改為String的情況下,將皇后區的Q替換為1,將空格打印為0。 我回過頭來,將數組更改為String類型,並在一些0處得到了空值。
我嘗試將int轉換為ASCII字符(81將是Q)。
我也嘗試將Int數組復制到String數組,但是java不允許這樣做。 有任何想法嗎?
public void print(){
for(int i = 0; i < a.length; i++)
{
for(int j = 0; j < a[i].length; j++)
{
if (a[i][j]==1){
a[i][j]=((char)81);
}
System.out.print(a[i][j]);
if(j < a[i].length - 1) System.out.print(" ");
}
System.out.println();
}
}
Solution :
0 0 0 0 0 81 0 0
81 0 0 0 0 0 0 0
0 0 0 0 0 0 81 0
0 0 0 81 0 0 0 0
0 81 0 0 0 0 0 0
0 0 0 0 81 0 0 0
0 0 0 0 0 0 0 81
0 0 81 0 0 0 0 0
for(int i = 0; i < a.length; i++)
{
for(int j = 0; j < a[i].length; j++)
{
if (a[i][j]==1){
System.out.print("Q");
if(j < a[i].length - 1) System.out.print(" ");
} else{
System.out.print(a[i][j]);
if(j < a[i].length - 1) System.out.print(" ");
}
}
System.out.println();
}
除非您需要在數組中存儲“ Q”,否則您不能僅在需要時打印出“ Q” ...然后,它會根據需要顯示在結果中。
采用
System.out.print((char)a[i][j]);
代替
System.out.print(a[i][j]);
for(int i = 0; i < a.length; i++)
{
for(int j = 0; j < a[i].length; j++)
{
if (a[i][j]==1){
System.out.print('Q');
}else{
System.out.print(" ");
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.