Я работаю над домашним заданием и нуждаюсь в том, чтобы кто-то меня пропустил. Я узнаю о массивах, и в основном у меня есть массив, который собирает имя, имя и оценку. Мне нужно написать метод compareTo, который будет сравнивать последнее имя, а затем первое имя, чтобы список можно сортировать в алфавитном порядке, начиная с последних имен, а затем, если у двух людей есть одно и то же имя, оно сортирует первое имя.
Я запутался, потому что вся информация в моей книге сравнивает числа, а не объекты, или я думаю, что строки? Я думаю, что струны считаются объектами при работе с массивами. Это меня действительно сбивает с толку, поэтому, если кто-то сможет мне пройти, я буду признателен. Вот что я закодировал до сих пор, но я знаю, что это неправильно, но по крайней мере объясняет, что я думаю, что я делаю.
public int Compare(Object obj) // creating a method to compare
{
Student s = (Student) obj; //creating a student object
// I guess here I'm telling it to compare the last names?
int studentCompare = this.lastName.compareTo(s.getLastName());
if (studentCompare != 0)
return studentCompare;
else
{
if (this.getLastName() < s.getLastName())
return - 1;
if (this.getLastName() > s.getLastName())
return 1;
}
return 0;
}
Я знаю, что символы <
и >
ошибочны, но, как я сказал, моя книга показывает вам, как нам использовать метод compareTo
, используя числа, которые, как я считаю, являются несправедливыми, чтобы ожидать, что я пойму, как сравнивать объекты.