I have to sort objects based on their area, leftborder or lowerborder. When I want to sort them on their left- or lower border I have to say sort x and sort y. When I want to sort by area I need to say just sort. I was trying to do this via a switch method but I don't know how you can use a switch method that has an empty string in it. This is what I was trying to do:
case "sort":
System.out.println("On what do you want to sort?");
String choice = scanner.nextLine();
switch (choice) {
case "x":
Arrays.sort(g, 0, lastPos, new Comparator < Geometric > () {
@Override
public int compare(Geometric o1, Geometric o2) {
if (o1.leftBorder() < o2.leftBorder()) {
return -1;
} else if (o1.leftBorder() > o2.leftBorder()) {
return 1;
} else {
return 0;
}
}
});
break;
case "y":
Arrays.sort(g, 0, lastPos, new Comparator < Geometric > () {
@Override
public int compare(Geometric o1, Geometric o2) {
if (o1.bottomBorder() < o2.bottomBorder()) {
return -1;
} else if (o1.bottomBorder() > o2.bottomBorder()) {
return 1;
} else {
return 0;
}
}
});
break;
case (""):
Arrays.sort(g, 0, lastPos, new Comparator < Geometric > () {
@Override
public int compare(Geometric o1, Geometric o2) {
if (o1.area() < o2.area()) {
return -1;
} else if (o1.area() > o2.area()) {
return 1;
} else {
return 0;
}
}
});
break;
default:
System.out.println("test1");
}