我有一个 grades(g) 数组,它是一个 int[]
我正试图在该数组中找到最大的等级。我试过这个:
public static String highestGradeName(int[] g, String[] n) {
String highStudent;
int highest = g[0];
for (int i=1; i < g.length; i++) {
if (highest < g[i]) {
highStudent = n[i+1];
return (highStudent);
}
}
return null;
}
我有另一个数组,它是一个字符串数组,包含学生的姓名,我有 return null
那里因为它说它需要一个返回声明但是我没有计划它永远是null
.是什么导致它返回 null
而不是 highstudent
?
我已经使用了准确的代码来找到最低等级并且它工作正常我对这个所做的唯一一件事就是将 if 语句从 highest > g[i]
更改为至 highest < g[i]
.
最佳答案
从循环内部返回是错误的,因为稍后数组中始终可以有更大的数字。你应该保留最高等级的索引,最后只返回相应的名称:
public static String highestGradeName(int[] g, String[] n) {
int highest = 0;
for (int i = 1; i < g.length; i++) {
if (g[highest] < g[i]) {
highest = i;
}
}
return n[highest];
}
关于java - 如何找到数组中最大的数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49657328/