ADD file via upload

main
p5wft6kpg 4 months ago
parent 72fba66e94
commit 707e16dbe1

@ -0,0 +1,25 @@
public class CircleToSquareConverter implements ShapeConverter<Circle, Square> {
@Override
public Square convert(Circle source) {
if (!canConvert(source)) {
throw new IllegalArgumentException("Cannot convert null circle");
}
// Calculate side length of square with equal area to the circle
double circleArea = source.calculateArea();
double squareSide = Math.sqrt(circleArea);
// Create square with the same color as the circle
return new Square(squareSide, source.getColor());
}
@Override
public boolean canConvert(Circle source) {
return source != null && source.getRadius() > 0;
}
@Override
public String getConversionDescription() {
return "Converts a circle to a square with equal area and same color";
}
}
Loading…
Cancel
Save