簡體   English   中英

錯誤的數組值

[英]wrong array values

我有二維數組,但如果我改變 x 坐標,每次我都會得到錯誤的結果。

  int[][] arr = {{0, 2, 0, 0, 1},{0, 2, 0, 0, 1},{0, 2, 0, 0, 1},{0, 2, 0, 0, 1},{0, 2, 0, 0, 1}};
int now, previous;

   for (int i = 1; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        now = arr[i][j];
        previous = arr[i-1][j];
        }
   }

變量的結果現在是 0, 2, 0, 0, 1... 為什么我只想有 2, 0, 0, 1 如果我更改變量的 i 坐標,例如 i = 1 output 仍然是 0, 2 , 0, 0, 1 ... 你知道問題在哪里嗎? 謝謝

您需要將 j = 1 而不是 j = 0。

i 變量遍歷構成數組的向量,而 j 變量遍歷其中一個向量的每個元素。 您想要跳過每個向量的第一個元素,因此您應該將 j 更改為從 1 而不是 0 開始。

在任何情況下,您都在循環內重復屬性,並且只會保留分配給變量的最后一個值。 因此,假設這是您正在使用的原始代碼,您應該刪除“for”循環並直接進行歸因,假設您的 arr 數組不會改變。

因為 i 對應於您示例中的外部數組。 你所擁有的將打印0, 2, 0, 0, 1四次。 我知道你想要的是顯示2, 0, 0, 1五次......你應該這樣做

for (int i = 0; i < 5; i++) {
 for (int j = 1; j < 5; j++) {
     now = arr[i][j];
     previous = arr[i-1][j];
     }
}

暫無
暫無

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

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