2DI需要使用二维二维数组来存储成绩。数组的第一个维度代表每个学生,而第二个维度代表每个分配的分数。创建课程时,将提供任何课程的最大分配数。我需要这样做,以便未分配的成绩的初始值为-1
我知道对于单个阵列,你可以这样做
double[] grade = new double[10];
for (double i = 0; i < size; i++) {
array[i] = -1;
}
我如何为2D数组做到这一点?
答案 0 :(得分:2)
首先,你不能这样做
double[] grade = new int[10];
double []和int []是不兼容的类型。
要声明2D数组,只需使用两组方括号
double[][] grade = new double[10][10];
这将为您提供总共100个索引,最大索引为[9] [9]和min [0] [0]。
要遍历数组,请使用嵌套循环
for (int i = 0; i < grade.length; i++){ // iterates each student
for (int j = 0; j < grade[i].length; j++){ // iterates each grade
// do something with grade[i][j]
}
}
答案 1 :(得分:2)
试试这个
double[][] grade = new double[10][10];
for (double[] e : grade) {
Arrays.fill(e, -1);
}