Java 如何将二维数组乘以因子
我有二维数组Java 如何将二维数组乘以因子,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我有二维数组 private static int [][] n = {{1, 2, 3, 4}, {5, 6, 7, 8}}; 我有 int m = 3; 如何将二维数组中的每个元素乘以3? 因此,输出将如下所示: {{3, 6, 9, 12},{15, 18, 21, 24}} 还有,如果我有一个矩阵 {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}, {16, 17, 18, 19, 20}, {21, 22
private static int [][] n = {{1, 2, 3, 4}, {5, 6, 7, 8}};
我有
int m = 3;
如何将二维数组中的每个元素乘以3?因此,输出将如下所示:
{{3, 6, 9, 12},{15, 18, 21, 24}}
还有,如果我有一个矩阵
{{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}},
如何打印对角线元素
{1,7,13,19,25} and {5,9,12,17,20}
我想知道算法,因为我用的是乘维数组
private static int[] n = {1, 2, 3, 4, 5, 6, 7};
private static int[] multiply(int[] n, int m) {
int array[] = new int[n.length];
for (int i = 0; i < n.length; i++) {
array[i] = n[i] * m;
}
return array;
}
private static int[]n={1,2,3,4,5,6,7};
私有静态整数[]乘法(整数[]n,整数m){
int数组[]=新的int[n.length];
for(int i=0;i
为此需要2个循环int [][] n = {{1, 2, 3, 4}, {5, 6, 7, 8}};
for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
n[i][j]*=3;
int[]n={{1,2,3,4},{5,6,7,8};
对于(int i=0;i只需迭代两个维度:
private static int[][] multiply(int[][] n, int m) {
int array[][] = new int[n.length][];
for (int i = 0; i < n.length; i++) {
array[i] = new int[n[i].length];
for (int j = 0; j < n[i].length; j++) {
array[i][j] = n[i][j] * m;
}
}
return array;
}
private static int[][]乘法(int[][]n,int m){
int数组[][]=新的int[n.length][];
for(int i=0;i
由于其他答案没有向您展示如何打印对角线元素,这里是:
for (int i = 0; i < n.length; i++)
System.out.println(n[i][i]);
for(int i=0;i
因为对角线元素具有相等的第一和第二索引:[i][i]
对于第一个任务,您可以使用一个简单的循环:
int m = 3;
for(int i = 0; i < n.length; i++){
for(int j = 0; j < n[i].length; j++){
n[i][j] *= m;
}
}
所以为了得到对角线,你只需要做一个循环:
int[] d1 = new int[array.length];
int[] d2 = new int[array.length];
for(int i = 0; i < array.length; i++){
d1[i] = array[i][i];
d2[i] = array[array.length-1-i][i];
}
int[]d1=新的int[array.length];
int[]d2=新的int[array.length];
for(int i=0;i
您只需确保行和列的长度相同,否则它可能会抛出一个ArrayIndexOutOfBoundsException
反向对角线元素:System.out.println(n[i][n.length-1-i]);它会返回一个错误(find int[],required int[])@MichaelKors是的,我搞错了变量定义,这是罪过。编辑并修复了。
int[] d1 = new int[array.length];
int[] d2 = new int[array.length];
for(int i = 0; i < array.length; i++){
d1[i] = array[i][i];
d2[i] = array[array.length-1-i][i];
}