问题描述
|
伙计们,我正努力用过去的2D试卷来学习考试。我必须写一个方法
sumr static (int[][] v)
返回由2行组成的2d数组,v的第一行和第二行的和的条目与v的第一行相同。例如:
a = {{2,3,3},{1,2}}
该方法返回二维数组
b = {{8,4,{2,3}}
我首先尝试使我的方法返回2d数组,但是我遇到了错误的表达式开始错误,现在我具有以下代码,但是最后一个元素未打印,并且所有元素均以行的形式打印,而不是以a的形式打印矩阵方式...请大家帮我,我的考试是明天。
public class Sum
{
// int[][] a = {{2,2}};
public void sumr(int[][] v)
{
for(int rows = 0; rows < v.length; rows++){
for(int columns = 0; columns < v.length; columns++){
int result = v[rows][columns];
System.out.print(result + \" \");
//return [][] result;
}
}
}
public int getCount(int[][] Array)
{
int result = 0; //temp location to store current count
for (int i = 0;i <= Array.length -1;i++){//loop around first array
//get the length of all the arrays in the first array
//and add them onto the temp variable
result += Array[i].length;
}
return result;
}
}
解决方法
在外循环中(在内循环之后)包括:
System.out.println(); // go to next line!
并检查内部数组的长度!
int[] innerArray = v[rows];
for(int columns = 0; columns < innerArray.length; columns++){
它是:
public void sumr(int[][] v)
{
for(int rows = 0; rows < v.length; rows++){
int[] innerArray = v[rows];
for(int columns = 0; columns < innerArray.length; columns++){
int result = v[rows][columns];
System.out.print(result + \" \");
//return [][] result;
}
System.out.println(); // go to next line!
}
}
一旦可以迭代:
您必须构造一个包含两个项目的数组:
第一项:\“求和数组\”
第二项:与v [0]相同
您必须建立该结果。
您必须构建对v进行迭代的第一项。就像您要尝试做的那样。对于每一行(外循环),您将遍历该行并对其值求和。因此,在处理了每一行之后(在内循环之后),您将获得总和值。该值必须放在“求和数组”中。
接下来,您可以直接构建结果数组,将构建的和分配给第一位,将v [0]分配给第二位。
但是我还没有写代码让你做;-)