У меня есть класс, в котором я должен сделать программу, которая читает набор данных, помещает его в несколько различных массивов.Затем мне нужно их отсортировать, но мой метод, похоже, не работает.
внутри моего первого цикла for. У меня есть два оператора if для двух ситуаций, которые мне нужно будет рассмотреть.Первая ситуация будет, если имя команды будет указано раньше, а вторая - когда имя команды совпадает.Если название команды совпадает, она сортируется по ярдам.
Сортировка имен работает нормально, но когда я отменяю комментарий ко второму утверждению, он сортирует его по порядку, я не могу понять.
public static void sortDatabase(int numRecords, String[] teamArr,
int[] attemptsArr, int[] yardsArr, int[] winsArr,
int[] loseArr)
{
//Sort the database first according to name and then according to yards
System.out.println("Sort the database.\n");
int iMin;
String teamTemp;
int attemptTemp;
int yardTemp;
int winsTemp;
int loseTemp;
for(int i = 0; i < numRecords - 1; i++)
{
iMin = i;
for(int k = i + 1; k < numRecords; k++)
{
int compare = teamArr[k].compareTo(teamArr[iMin]);
if(compare < 0)
{
iMin = k;
}
else if(compare == 0 && yardsArr[k] < yardsArr[iMin])
{
iMin = k;
}
//swap out all data
teamTemp = teamArr[i];
attemptTemp = attemptsArr[i];
yardTemp = yardsArr[i];
winsTemp = winsArr[i];
loseTemp = loseArr[i];
teamArr[i] = teamArr[iMin];
attemptsArr[i] = attemptsArr[iMin];
yardsArr[i] = yardsArr[iMin];
winsArr[i] = winsArr[iMin];
loseArr[i] = loseArr[iMin];
teamArr[iMin] = teamTemp;
attemptsArr[iMin] = attemptTemp;
yardsArr[iMin] = yardTemp;
winsArr[iMin] = winsTemp;
loseArr[iMin] = loseTemp;
}
}
}
Также не комментируйте и не отвечайте лучшеспособы сделать это или сказать, что я должен создать новый класс для обработки всех данных.Просто попробуйте ответить методом сортировки, который я использую.Я делаю это для класса и у меня мало вариантов.