0
我完成了大部分代码。我唯一的问题是我必须确定最大总和的行和列的最后一部分。我设法得到并打印出最大的行和列的总和,但是,我想打印最大的总和所在的行和列的数量。因此,我不想打印最大总和的值,而是打印最大总和的行和列。确定最大总和的行和列
我希望你们大多数人都明白。
这里是我的代码
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] arr = new int[10][10];
int [] sumRow = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int [] sumCol = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int sumAll = 0;
int largestRow=0;
int largestCol=0;
for(int i=0; i<arr.length; i++) {
for(int r=0;r<arr.length; r++){
for(int c=0; c<arr.length; c++){
arr[i][i] = (int)(Math.random()*10 + 1);
}
System.out.print(arr[i][i]+" ");
sumRow[i]= sumRow[i]+ arr[i][i];
sumAll = sumAll+ arr[i][i];
sumCol[r]=sumCol[r]+ arr[i][i];
if(sumRow[i]>largestRow){
largestRow=sumRow[i];
}
if(sumCol[r]>largestCol){
largestCol=sumCol[r];
}
}
System.out.println();
}
System.out.println("Sum for all the element is :" +" "+ sumAll);
System.out.println("Sum by row is :");
for(int i=0; i<arr.length; i++) {
System.out.println((i+1) + ": " + sumRow[i]);
}
System.out.println("Sum by column is :");
for(int i=0; i<arr.length; i++) {
System.out.println((i+1) + ": " + sumCol[i]);
}
System.out.println("The row with the largest sum is :" + " " + largestRow);
System.out.println("The column with the largest sum is :" + " " + largestCol);
}
}
提示:你还记得'largestRow = sumRow [i]'的值,你还可以记住行号。并回顾一下计算行和列总和的方式,那里有一个错误。 – Henry
我怀疑这段代码的确如你所想。例如,你是否意识到你只写和覆盖你的ARR的对角元素?你是否知道,在运行变量'c'的循环中,你正在写入“arr.length” - 多少次到完全相同的字段?你使用你的数组的方式,一个简单的变量会做同样的事情,除了你不能要求这个变量的'长度'...无论如何保持编码! – dingalapadum