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