Java 向数组中添加特定范围的数字
我一直在看我的代码,我仍然不明白为什么结果总是最高级别的值,而不是数组中每个位置的不同值 这是我的密码:Java 向数组中添加特定范围的数字,java,arrays,Java,Arrays,我一直在看我的代码,我仍然不明白为什么结果总是最高级别的值,而不是数组中每个位置的不同值 这是我的密码: int[] gradesDescription; int[] gradesCount; gradesDescription = new int[(highestGrade-lowestGrade) + 1]; gradesCount = new int[(highestGrade-lowestGrade) + 1]; for(int b = lowestGrade; b <= hi
int[] gradesDescription;
int[] gradesCount;
gradesDescription = new int[(highestGrade-lowestGrade) + 1];
gradesCount = new int[(highestGrade-lowestGrade) + 1];
for(int b = lowestGrade; b <= highestGrade; b++){
Arrays.fill(gradesDescription, b);
}
for(int d = 0; d < gradesDescription.length; d++){
System.out.println("Grade: " + gradesDescription[d] +
" had " + gradesCount[d] + " students with the same grade.");
int[]等级描述;
国际[]等级侦察;
gradesDescription=newint[(最高等级最低等级)+1];
GRADESCONT=新整数[(最高等级最低等级)+1];
对于(int b=最低等级;bfor)(int b=最低等级;bfor)(int b=最低等级;b此行导致您的问题:
Arrays.fill(gradesDescription, b);
这将把gradesDescription
中的每个值分配给b
。您想要的是:
for(int b = 0; b < gradesDescription.length; b++) {
gradesDescription[b] = b + lowestGrade;
}
for(int b=0;b
尽管如此,我不得不说,即使这个代码看起来也是错误的。如果有三个学生的成绩分别为70、80和100,那么预期的行为是什么?成绩描述。长度将最终为30,但实际上它应该只有3?我假设您忽略了分配gradesCount
元素的代码?这段line导致了您的问题:
Arrays.fill(gradesDescription, b);
这将把gradesDescription
中的每个值分配给b
。您想要的是:
for(int b = 0; b < gradesDescription.length; b++) {
gradesDescription[b] = b + lowestGrade;
}
for(int b=0;b
尽管如此,我不得不说,即使这个代码看起来也是错误的。如果有三个学生的成绩分别为70、80和100,那么预期的行为是什么?成绩说明。长度将最终为30,但实际上它应该只有3?我假设您忽略了分配gradesCount
元素的代码?数组。fill是在循环中每次用相同的值填充整个数组
for(int idx = 0; idx < gradesDescription.length; idx++){
gradesDescription[idx] = idx + lowestGrade;
}
for(int-idx=0;idx
Arrays.fill是在循环中每次用相同的值填充整个数组。我想您需要
for(int idx = 0; idx < gradesDescription.length; idx++){
gradesDescription[idx] = idx + lowestGrade;
}
for(int-idx=0;idx
非常好的描述!我现在得到了逻辑,我还看到Arrays.fill刚刚向我的数组发送了相同的值。谢谢!我正在使用不同的数组浏览包含某些分数的文件,我需要计算每个分数有多少学生获得了相同的分数(从最低分数到最高分数)然后我会将每个计数分配到与成绩描述相匹配的对应位置。然后我将只打印成绩和具有相同成绩的学生人数。非常好的描述!我现在得到了逻辑,我也看到了数组。fill只是将相同的值发送到我的数组。谢谢!我正在使用不同的数组来浏览文件这包含某些分数,我需要计算每个分数有多少学生获得了相同的分数(从最低分数到最高分数),然后我将每个计数分配到与分数描述匹配的对应位置。然后我将只打印分数和具有相同分数的学生数量。