Метод возвращает некоторый null, пропускающий некоторые объекты. Цель метода состоит в том, чтобы возвращать сортировщик списка людей в соответствии с их «средним» и «окончательным» («средний» человек сразу же следует его «окончательный»). Может ли кому-нибудь помочь, пожалуйста, исправить это? Вот кодВозвращение null в выходном
public static Exam[] collateExams(Exam[] exams)
{
Exam[] r = new Exam[exams.length];
int index = 0;
for (int i = 0; (i < exams.length) && (index < exams.length/2); i++)
{
if (exams[i].getExamType() == 'm')
{
r[index*2] = new Exam(exams[i].getFirstName(), exams[i].getLastName(), exams[i].getID(), "midterm", exams[i].getScore());
for(int j = 0; (j < exams.length) && (index < exams.length/2); j++)
{
if((exams[j].getExamType() == 'f') && (exams[i].getID() == exams[j].getID()))
{
r[index*2 + 1] = new Exam(exams[i].getFirstName(), exams[i].getLastName(), exams[i].getID(), "final", exams[i].getScore());
}
}
}
index++;
}
return r;
вот выход:
null
null
Bill Gates 6 midterm 90
Bill Gates 6 final 90
James Gosling 3 midterm 100
James Gosling 3 final 100
Sergey Brin 22 midterm 98
null
Dennis Ritchie 5 midterm 94
Dennis Ritchie 5 final 94
Steve Jobs 9 midterm 95
Steve Jobs 9 final 95
Вот несортированный список, который передается в качестве параметра:
Steve Jobs 9 final 91
Bill Gates 6 midterm 90
James Gosling 3 midterm 100
Sergey Brin 22 midterm 98
Dennis Ritchie 5 midterm 94
Steve Jobs 9 midterm 95
Dennis Ritchie 5 final 100
Jeff Dean 7 midterm 100
Bill Gates 6 final 96
Jeff Dean 7 final 100
Sergey Brin 27 final 97
James Gosling 3 final 100
Зачем использовать массивы, когда вы можете использовать 'java.util.List'? – maksimov
Кроме того, где находится остальная часть кода и как вы их печатаете? – ha9u63ar
Первая запись 'terms' -' Steve Jobs 9 final 91', поэтому я считаю 'exams [i] .getExamType() == 'm'' is * false *. Это означает, что он никогда не назовет 'r [index * 2] = ...' и пропустит индексы '0' и' 1' 'r'. Теперь, что именно здесь неясно? – Tom