Есть метод, который должен исключать координаты лежащие в интервале от
x1до
x2 и от
y1 до
y2. Простейшее решение работает неправильно... Как правильно решить задачу?
private HashSet<int[]> coordinates;
////////////////////////////////////
private boolean intersections(int x1, int x2, int y1, int y2) {
boolean check = true;
int a, a1, b, b1;
for (int[] xY: coordinates) {
a = xY[0];
b = xY[2];
a1 = xY[1];
b1 = xY[3];
if (x1>=a && x1<=a1 && y1>=b && y1<=b1 ||
x2>=a && x2<=a1 && y2>=b && y2<=b1) {
check = false;
break;
}
}
if(check) {
int[] xY = {x1,x2,y1,y2};
coordinates.add(xY);
}
return check;
}
Код должен исключать двойное наложение зелёных плоскостей, показанное на картинке ниже.