簡體   English   中英

對AtomicInteger和打印二維數組有疑問

[英]doubts on AtomicInteger and on printing a bi-dimensional array

我今天有2個疑問。 1)我試圖打印一個二維數組(矩陣Nx),並且我正在使用此方法:

System.out.println(Arrays.toString(Matr)); 

矩陣只有int變量。

這是輸出,為什么?

[[I@15db9742, [I@6d06d69c, [I@7852e922, [I@4e25154f, [I@70dea4e, [I@5c647e05, ........etc

2)使用AtomicIntegers,我必須將所有矩陣都設置為0。我使用了以下代碼:

AtomicInteger[][]Matr=new AtomicInteger[n][m];

    for(int i=0; i<n; i++) {
        for(int j=0; j<m; j++) {
            Matr[i][j].set(0);
        }
    }

但教師的解決方案是:

AtomicInteger[][] A = new AtomicInteger[n][m];
    for (int i = 0; i < A.length; i++)
        for (int j = 0; j < A[i].length; j++)
            A[i][j] = new AtomicInteger(0);

有區別嗎? 我的代碼錯了嗎?

您的代碼將嘗試將值設置為空對象時,將引發空指針異常。 您必須先初始化變量,然后設置值。

關於您的第一個問題的使用

System.out.println(Arrays.deepToString(Matr));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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