import java.util.Arrays;
import java.util.Scanner;
class Student1 {
int[] score = new int[5];
public void input(int[] arr) {
// Scanner sc = new Scanner(System.in);
// for(int i = 0;i<score.length;i++){
// score[i] = sc.nextInt();
// }
score = Arrays.copyOfRange(arr, 0, arr.length);
}
public int calculateScore() {
int sum = 0;
for (int i = 0; i < score.length; i++) {
sum += score[i];
}
return sum;
}
}
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Student1[] stu = new Student1[n];
for (int i = 0; i < n; i++) {
stu[i] = new Student1();
int[] arr = new int[5];
for (int j = 0; j < arr.length; j++) {
arr[i] = sc.nextInt();
}
stu[i].input(arr);
sc.nextLine();
}
int kristScore = stu[0].calculateScore();
int count = 0;
for (int i = 1; i < stu.length; i++) {
if (kristScore < stu[i].calculateScore()) {
count++;
}
}
System.out.println(count);
}
}
输入如果这样输入:
10
85 90 78 88 92
75 80 85 70 95
89 92 88 78 84
80 85 70 90 88
95 88 90 85 80
78 70 92 88 85
90 78 85 95 88
70 75 80 92 85
88 84 78 80 90
92 88 85 78 70
它显示错误,如线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:Main.main(Main.java:37)处的索引5超出长度5的范围
尽管我每行只输入了 5 个元素, 我需要计算一行中的值之和大于第一行中的值之和的实例。
您的索引
arr
不正确。使用 j
代替 i
。
for (int j = 0; j < arr.length; j++) {
arr[j] = sc.nextInt();
}