@My1Name

Как проверить переменные в интервале?

Есть метод, который должен исключать координаты лежащие в интервале от 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;
	}

Код должен исключать двойное наложение зелёных плоскостей, показанное на картинке ниже.
637a408922549726519392.jpeg
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы