簡體   English   中英

Java為數組元素添加數字

[英]Java adding a number to array element

所以我有兩種方法。 一個將創建一個多級數組,並將該數組和一個數字傳遞給我的其他方法。 然后,我的另一個方法將數字添加到數組中的每個元素,然后我的第一個方法將打印修改后的數組。 這是我的代碼:

方法1:

enter code her public void exercise18d1() {
    double[][] array1 = {{2.3,6.1},{3.3,8.6},{5.4,5.2}};
    double[][] array2 = {{2.3,6.1,7.0,3.5},{3.3,8.6},{5.4,5.5,5.2}};
    increase(array1, 1.2); //plus 1 plus 2
    increase(array2, -1);//minus 1
    print(array1,5,1);
    System.out.println();
    print(array2,5,1);
}

方法2修改數組。

  public void increase(double[][] arr, double nbr) {
    for(int i = 0;i <arr.length;i++){
        arr[i][i] += nbr;

    }

問題出在第二種方法上。 我對如何解決這個問題一無所知。 arr [i] [i] + = nbr表示在i位置的元素應添加nbr。 因此,澄清結果應為:

   3,5  7,3 
   4,5  9,8 
   6,6  6,4

   1,3  5,1  6,0  2,5
   2,3  7,6
   4,4  4,5  4,2

然后,我的另一種方法將數字添加到數組中的每個元素

目前還不是這樣。 它正在修改每個“對角線”元素。 假設您有一個5 x 10的陣列...您當前僅修改5個條目。 您需要嵌套循環-類似:

public void increaseAll(double[][] array, double amount) {
    for (double[] subArray : array) {
        for (int i = 0; i < subArray.length; i++) {
            subArray[i] += amount;
        }
    }
}

或僅使用for循環:

public void increaseAll(double[][] array, double amount) {
    for (int i = 0; i < array.length; i++) {             
        for (int j = 0; i < array[i].length; j++) {
            array[i][j] += amount;
        }
    }
}
public void increase(double[][] arr, double nbr) {
  for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
       arr[i][j] += nbr;
    }
  }
}

這是訪問multi dimensional array elements的方式。

暫無
暫無

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

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