[英]How to get the row sum of 2 dimensional array and rank them from highest to lowest?
我這里有獲取行總和的代碼,但答案是錯誤的,我不知道如何獲得排名。
int[][] ranks = {
{29, 20, 7, 25, 32, 6},
{20, 31, 17, 31, 32, 26},
{22, 30, 16, 32, 22, 15}
};
int sum = 0;
for(int i = 0; i < 3; i++ )
{
for(int j = 0; j < 6; j++)
{
sum = sum + ranks[i][j];
}
System.out.println(sum);
}
請按以下步驟操作:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] ranks = { { 29, 20, 7, 25, 32, 6 }, { 20, 31, 17, 31, 32, 26 }, { 22, 30, 16, 32, 22, 15 } };
int sum[] = new int[ranks.length];
for (int i = 0; i < ranks.length; i++) {
for (int j = 0; j < ranks[i].length; j++) {
sum[i] += ranks[i][j];
}
System.out.println("Sum of row " + (i + 1) + " = " + sum[i]);
}
Arrays.sort(sum);
System.out.println("Sum of ranks in highest to lowest: ");
for (int i = sum.length - 1; i >= 0; i--) {
System.out.println(sum[i]);
}
}
}
輸出:
Sum of row 1 = 119
Sum of row 2 = 157
Sum of row 3 = 137
Sum of ranks in highest to lowest:
157
137
119
筆記:
int
數組(上面給出的代碼中的int sum[]
)來存儲每行的總和。int
數組的每個索引的默認值為0
。java.util.Arrays::sort
。 也可以有許多其他方式。length
屬性而不是使用固定數字(如3
或6
來限制迭代。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.