Я изучил это question и последовал за ответом на реализацию моей собственной версии на Java. Я думаю, что это близко ... но все же неверно. Не могли бы вы дать мне некоторое предложение об ошибке?Являются ли два прямоугольника перекрывающимися друг с другом?
Полный исходный код можно найти here:
// Determine if it is inside
boolean isInside = ((r1x1 >= r2x1) && (r1x2 >= r2x2)
&& (r1y1 >= r2y1) && (r1y2 <= r2y2));
// Determine if it is overlap
boolean isOverLap = (!(r1x1 >= r2x2) && !(r1x2 <= r2x2)
&& !(r1y2 >= r2y1) && !(r1y1 <= r2y2));
// Determine if it is NOT overlap
boolean isNotOverLap = ((r1x1 >= r2x2) || (r1x2 <= r2x2)
|| (r1y2 >= r2y1) || (r1y1 <= r2y2));
Согласно учебнику, я учусь, это должно быть: r2 overlap r1
. Но мой выпуск программы r2 does not overlap r1
.
Enter the r1's center x, y coordinates, width and height
1 2 3 5.5
Enter the r2's center x, y coordinates, width and height
3 4 4.5 5
Rectangle 1: (-0.50, 4.75), (2.50, -0.75)
Rectangle 2: (0.75, 6.50), (5.25, 1.50)
r2 does not overlap r1
Что не так с 'boolean isNotOverLap =! IsOverLap'? : P – arshajii
Это загадка? Какая ошибка? –
Заголовок редактировалось: '« Ты или нет, мой избиратель? »« –