Доброго всем времечка суток! Порылся-порылся в разных всяких источниках и понял, что лучше взять "помощь друга". То ли запросы не правильно формулировал, то ли просто не повезло, но я так и не понял можно ли передать в параметры IF разные условия, или нужно каждый раз писать сортировку заново для разных условий? Собственно вот код:
Строки 38 и 39 закомментированы - вот эти то параметры и хотелось бы передавать при выборе в меню сортировки. Возможно такое и, если да, то как реализуется? Или проще написать три разных метода и не заморачиваться?
Спасибо!
Код:
import java.util.Scanner;
public class MyCollection {
int numberSchool;
String namePupil;
String soNamePupil;
long phoneNumber;
public MyCollection(int school, String name, String soName, long phone) {
this.numberSchool = school;
this.namePupil = name;
this.soNamePupil = soName;
this.phoneNumber = phone;
}
public MyCollection add() {
int school = new Scanner(System.in).nextInt();
String name = new Scanner(System.in, "CP1251").nextLine();
String soName = new Scanner(System.in, "CP1251").nextLine();
long phone = new Scanner(System.in).nextLong();
return new MyCollection(school, name, soName, phone);
}
public static MyCollection[] addingCollection() {
int n = 4;
MyCollection added = new MyCollection(0, null, null, 0);
MyCollection[] myC = new MyCollection[n];
for (int i = 0; i < myC.length; i++) {
myC[i] = added.add();
}
return myC;
}
public static void sortedBySchool(MyCollection[] myC) {
for (int i = 0; i < myC.length; i++) {
for (int j = 0; j < myC.length - i - 1; j++) {
// if (myC[j].numberSchool > myC[j + 1].numberSchool) { //сортировка по номеру школы
// if (myC[j].phoneNumber > myC[j + 1].phoneNumber) { //сортировка по номеру телефона
if (myC[j].soNamePupil.compareTo(myC[j + 1].soNamePupil) > 0) { //сортировка по фамилии
MyCollection temp = myC[j];
myC[j] = myC[j + 1];
myC[j + 1] = temp;
}
}
}
for (MyCollection print : myC) {
System.out.println(print.toString());
}
}
public static void main(String[] args) {
sortedBySchool(addingCollection());
}
@Override
public String toString() {
return "школа № " + numberSchool + " " + namePupil + " " + soNamePupil + " тел.: " + phoneNumber;
}
}
Спасибо!