Это компиляция в классе списка студентов, но она не выровнена - PullRequest
0 голосов
/ 08 апреля 2020
public void sortById() {
    int i, j, min;
    for(i = 0 ; i < number - 1; i++) {
        min = i;
        for(j = i + 1; j < number; j++) {
            if (StudentList[j].getId() < StudentList[min].getId()) {
                min = j;
            }
            swap(StudentList[min].getId(), StudentList[i].getId());
        }
    }
}

public void swap(StudentList std1, StudentList std2) {
    Student st = new Student(0,"",0);
    st = std1;
    std1 = std2;
    std2 = st;
}

Если я скомпилирую приведенный выше код, ошибок и исключений не будет, и он выйдет без выравнивания, так как вы решите его?

1 Ответ

1 голос
/ 08 апреля 2020

Я не совсем понимаю, что вы подразумеваете под "оно выходит без выравнивания", но вы, вероятно, сталкиваетесь с проблемами, потому что вы на самом деле ничего не меняете в своем методе swap.

Вместо этого при передаче объекты в метод, вам нужно передать индексы этих объектов, например:

public void swap(int a, int b) {
    StudentList temp = studentList[a];
    studentList[a] = studentList[b];
    studentList[b] = temp;
}

и вызвать метод следующим образом:

swap(min, i);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...