Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 21 additions & 20 deletions src/main/java/com/thealgorithms/maths/Area.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

package com.thealgorithms.maths;

/**
Expand Down Expand Up @@ -69,30 +70,11 @@ public static double surfaceAreaSphere(final double radius) {
return 4 * Math.PI * radius * radius;
}

/**
* Calculate the surface area of a pyramid with a square base.
*
* @param sideLength side length of the square base
* @param slantHeight slant height of the pyramid
* @return surface area of the given pyramid
*/
public static double surfaceAreaPyramid(final double sideLength, final double slantHeight) {
if (sideLength <= 0) {
throw new IllegalArgumentException("");
}
if (slantHeight <= 0) {
throw new IllegalArgumentException("slant height must be greater than 0");
}
double baseArea = sideLength * sideLength;
double lateralSurfaceArea = 2 * sideLength * slantHeight;
return baseArea + lateralSurfaceArea;
}

/**
* Calculate the area of a rectangle.
*
* @param length length of a rectangle
* @param width width of a rectangle
* @param width width of a rectangle
* @return area of given rectangle
*/
public static double surfaceAreaRectangle(final double length, final double width) {
Expand Down Expand Up @@ -232,4 +214,23 @@ public static double surfaceAreaCone(final double radius, final double height) {
}
return Math.PI * radius * (radius + Math.pow(height * height + radius * radius, 0.5));
}

/**
* Calculate the surface area of a pyramid with a square base.
*
* @param sideLength side length of the square base
* @param slantHeight slant height of the pyramid
* @return surface area of the given pyramid
*/
public static double surfaceAreaPyramid(final double sideLength, final double slantHeight) {
if (sideLength <= 0) {
throw new IllegalArgumentException("Must be a positive sideLength");
}
if (slantHeight <= 0) {
throw new IllegalArgumentException("Must be a positive slantHeight");
}
double baseArea = sideLength * sideLength;
double lateralSurfaceArea = 2 * sideLength * slantHeight;
return baseArea + lateralSurfaceArea;
}
}
Loading