[英]initializing array String[][] java
我想創建一個String [] []數組,並用String =“ 0”填充它的每個元素。 我不明白為什么這樣做之后,當我嘗試顯示數組時會給我null值。 這是代碼。
import java.util.Vector;
public class hetmani{
private int n;
private String[][] tab;
private Vector wiersz;
private Vector kolumna;
public hetmani(int liczba){
n=liczba;
wiersz = new Vector();
kolumna = new Vector();
tab = new String[n][n];
}
public void wyzeruj(){
for (String[] w : tab){
for (String k : w){
k = " 0";
System.out.print(k);
}
System.out.println();
}
}
public void wyswietl(){
for (String[] i : tab){
for (String j : i){
System.out.print(j);}
System.out.println();}
}
public static void main(String[] args){
hetmani szach = new hetmani(3);
szach.wyzeruj();
szach.wyswietl();
}
}
for (String k : w){
k = " 0";
您實際上並沒有將數組值設置為“ 0”,而只是在重新分配了局部變量k
。
您將需要使用索引設置數組:
for (int i = 0; i < tab.length; i++)
{
for (int j = 0; j < tab[i].length; j++)
{
tab[i][j] = " 0";
System.out.print(tab[i][j]);
}
System.out.println();
}
更新:
這里k
是另一個對象的引用
for (String k : w){
k = " 0";
System.out.print(k);
}
替換為:
for(int i=0;i<w.length;i++){
w[i] = "0";
}
另請參見: Java是按引用傳遞還是按值傳遞?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.