繁体   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