簡體   English   中英

初始化數組String [] [] java

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

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