我试图从2D数组的每一行添加int,然后找到哪一行总数最高。数组的大小是可变的,由用户在程序开头声明。
// a 2D Array named score is made. Its axis' are maxComp and maxRound
int[][] score = new int[maxComp][maxRound];
//Player x is called
for (int x = 0; x < maxComp; x++) {
System.out.println("Player " + (x+1));
//Player x enters all their scores
for (int r = 0; r < maxRound; r++) {
System.out.println("Enter your score for round " + (r + 1) );
score [x][r] = in.nextInt();
}
}
现在我希望找到每个玩家(排)的最高分。我不确定我是否应该使用方法。或者我应该使用哪种方法。我稍微了解了如何从数组添加内容,但我不明白如何在每次运行程序时添加数量不同的行。
答案 0 :(得分:0)
您可以声明一个变量,例如int maxScore。然后在第一个for循环内部,将其设置为0以清除每个玩家。在第二个for循环中,您可以执行
if(r == 0)
maxScore = score[x][r]
else if(maxScore < score[x][r])
maxScore = score[x][r]
这将为每位玩家提供最大分数。然后你可以存储该变量或将其打印出来。
答案 1 :(得分:0)
for (int x = 0; x < maxComp; x++) {
int maxScore = 0;
for (int r = 0; r < maxRound; r++) {
int currentScore = score [x][r];
if(currentScore > maxScore){
maxScore = currentScore;
}
}
System.out.println("Player " + x + " max Score is " + maxScore);
}