ADD file via upload

main
p5wft6kpg 4 months ago
parent 560c591a5e
commit de7edac411

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