Java 如何在新数组b中存储sum的值 公共类HW9P1 { 公共静态void main(字符串[]args) { /*int[]a1={{4,-2,10}, { 19, 3, -5 } }; int[]b1=柱状图(a1)*/ int[]a2={{7,-10}, { 4, 13 }, { 1, 0 } }; int[]b2=columnsum(a2); int i,j; 对于(i=0;i
您没有将Java 如何在新数组b中存储sum的值 公共类HW9P1 { 公共静态void main(字符串[]args) { /*int[]a1={{4,-2,10}, { 19, 3, -5 } }; int[]b1=柱状图(a1)*/ int[]a2={{7,-10}, { 4, 13 }, { 1, 0 } }; int[]b2=columnsum(a2); int i,j; 对于(i=0;i,java,Java,您没有将sum存储回数组b。您实际上不需要sum,只需将值直接添加到数组中即可。例如 public class HW9P1 { public static void main(String[] args) { /*int[][] a1 = { { 4, -2, 10 }, { 19, 3, -5 } }; int[] b1 = coloumnsum(a1);*/ int[][] a2 = { { 7,
sum
存储回数组b
。您实际上不需要sum
,只需将值直接添加到数组中即可。例如
public class HW9P1
{
public static void main(String[] args)
{
/*int[][] a1 = { { 4, -2, 10 },
{ 19, 3, -5 } };
int[] b1 = coloumnsum(a1);*/
int[][] a2 = { { 7, -10 },
{ 4, 13 },
{ 1, 0 } };
int[] b2 = coloumnsum(a2);
int i,j;
for (i=0; i<b2.length; i++)
{
System.out.print(b2[i] + " ");
}
}
public static int[] coloumnsum (int[][] a)
{
int[] b = new int[a[0].length];
int i,j, sum= 7;
for (j=0; j<a[0].length; j++)
{
for (i=0; i<a.length; i++)
{
sum = sum + a[i][j];
}
}
return b;
}
}
b
分配任何内容12 3
公共静态int[]columnsum(int[]a)
{
int[]b=新的int[a[0]。长度];
对于(int i=0;i
对于我提供的代码,答案应该是{12,3}。我想我还应该将sum的值存储在新数组b中,但我不知道怎么做。对于sum,我硬编码了a[0][0]的第一个值,以检查代码是否运行。对于行,我使用i,对于列,我使用j(第一个)我对sum很满意。我想知道如何将sum存储到数组中。@Asrarb[j]=sum;
-当然,在开始添加它之前(在每个列中),您需要设置sum=0
最后一件事我如何使用一个循环打印b1和b2。i int[]]a1={{4,-2,10},{19,3,-5};int[]b1=columnsum(a1);int[]a2={{7,-10},{4,13},{1,0}}int[]b2=columnsum(a2);int i,j;for(i=0;iyou会得到一个异常。但是,随着所做的更改,情况应该不再如此。请使用int[]a2={1},{2,3,4,5};
-问题将是int[]b=新整数[a[0]。长度];
@ElliottFrisch我的复制/粘贴错误问题。感谢您指出。这是行数。没有一种干净的方法可以获取锯齿数组中的列数。@ElliottFrisch这是一个问题,或者有发生异常的风险……除非OP可以保证2D数组将是真正的多维数组,否则这是更安全的方法。
12 3
public static int[] coloumnsum (int[][] a)
{
int[] b = new int[a[0].length];
for (int i = 0; i < a[0].length; i++){
for (int j = 0; j < a.length; j++)
b[i] += a[j][i];
}
return b;
}