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