From 1e4c4a112d0c5144ff201dc1511d400921ddc811 Mon Sep 17 00:00:00 2001 From: Poorva Diwan Date: Thu, 8 Sep 2022 12:35:06 +0530 Subject: [PATCH] Add Perimeter Calculation Algorithms (#3247) Co-authored-by: Andrii Siriak --- pom.xml | 9 ++++- .../com/thealgorithms/maths/Perimeter.java | 38 +++++++++++++++++++ .../thealgorithms/maths/perimeterTest.java | 37 ++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/thealgorithms/maths/Perimeter.java create mode 100644 src/test/java/com/thealgorithms/maths/perimeterTest.java diff --git a/pom.xml b/pom.xml index b3ddcc5d1..9840532e9 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ UTF-8 17 17 - 3.22.0 + 3.23.1 @@ -31,6 +31,7 @@ org.junit.jupiter junit-jupiter + 5.9.0 test @@ -38,6 +39,12 @@ assertj-core ${assertj.version} + + org.junit.jupiter + junit-jupiter-api + 5.9.0 + import + diff --git a/src/main/java/com/thealgorithms/maths/Perimeter.java b/src/main/java/com/thealgorithms/maths/Perimeter.java new file mode 100644 index 000000000..046b9b29f --- /dev/null +++ b/src/main/java/com/thealgorithms/maths/Perimeter.java @@ -0,0 +1,38 @@ +package com.thealgorithms.maths; + +public class Perimeter { + public static void main(String[] args) { + System.out.println(perimeter_polygon(5,4)); + System.out.println(perimeter_rectangle(3,4)); + System.out.printf("%,3f",circumference(5)); + } + // Perimeter of different 2D geometrical shapes + /** + *Calculate the Perimeter of polygon. + * @parameter length of side. + * @parameter number of sides. + * @return Perimeter of given polygon + */ + public static float perimeter_polygon( int n, float side){ + float perimeter = n*side; + return perimeter; + } + /** + *Calculate the Perimeter of rectangle. + * @parameter length and breadth. + * @return Perimeter of given rectangle + */ + public static float perimeter_rectangle( float length, float breadth){ + float perimeter = 2*(length + breadth); + return perimeter; + } + /** + *Calculate the circumference of circle. + * @parameter radius of circle. + * @return circumference of given circle. + */ + public static double circumference( float r){ + double circumference = 2*Math.PI*r; + return circumference; + } +} diff --git a/src/test/java/com/thealgorithms/maths/perimeterTest.java b/src/test/java/com/thealgorithms/maths/perimeterTest.java new file mode 100644 index 000000000..bbb228d80 --- /dev/null +++ b/src/test/java/com/thealgorithms/maths/perimeterTest.java @@ -0,0 +1,37 @@ +package com.thealgorithms.maths; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class perimeterTest { + + //Perimeter of polygon + @Test + void testcase1(){ + Assertions.assertEquals(20.0,Perimeter.perimeter_polygon(4,5)); + } + @Test + void testcase2(){ + Assertions.assertEquals(30.0,Perimeter.perimeter_polygon(5,6)); + } + + //Perimeter of Rectangle + @Test + void testcase3(){ + Assertions.assertEquals(18.0,Perimeter.perimeter_rectangle(4,5)); + } + @Test + void testcase4(){ + Assertions.assertEquals(14.0,Perimeter.perimeter_rectangle(4,3)); + } + + //Circumference of a circle + @Test + void testcase5(){ + Assertions.assertEquals(31.41592653589793,Perimeter.circumference(5)); + } + @Test + void testcase6(){ + Assertions.assertEquals(43.982297150257104,Perimeter.circumference(7)); + } +}