Этот класс содержит список Rectangles, и мне нужно найти прямоугольник с наименьшей площадью.Как сравнить два двойных числа и найти smaler
Я нашел, что нужно сравнить прямоугольники по площади, но имеет двойную точность. Я понимаю, что мое сравнение помнит последний, но как мы можем это проверить здесь?
Код:
/**
* Gets the Rectangle with the smallest area
* @return the rectangle with the smallest area or null if
* there are no rectangles
*/
public Rectangle smallestArea()
{
if (list.size() == 0) return null;
Rectangle smallest = list.get(0);
double smallestArea = smallest.getWidth() * smallest.getHeight();
for (int i = 1; i < list.size(); i++) {
Rectangle next = list.get(i);
double nextArea = next.getWidth() * next.getHeight();
if ((nextArea - smallestArea) < 0) smallest = next;
}
return smallest;
}
Как решить эту проблему?
Почему бы вам не попробовать простые сравнительные операторы? – rptwsthi
@rptwsthi это не сработало правильно –
Как насчет реализации сопоставимых в вашем классе прямоугольников? – misserandety