diff --git a/src/main/java/com/thealgorithms/ciphers/Caesar.java b/src/main/java/com/thealgorithms/ciphers/Caesar.java index 61c444cf6463..4fa9607b0ef6 100644 --- a/src/main/java/com/thealgorithms/ciphers/Caesar.java +++ b/src/main/java/com/thealgorithms/ciphers/Caesar.java @@ -29,10 +29,10 @@ public String encode(String message, int shift) { char current = message.charAt(i); // Java law : char + int = char if (isCapitalLatinLetter(current)) { - current += shift; + current += (char) shift; encoded.append((char) (current > 'Z' ? current - 26 : current)); // 26 = number of latin letters } else if (isSmallLatinLetter(current)) { - current += shift; + current += (char) shift; encoded.append((char) (current > 'z' ? current - 26 : current)); // 26 = number of latin letters } else { encoded.append(current); @@ -56,10 +56,10 @@ public String decode(String encryptedMessage, int shift) { for (int i = 0; i < length; i++) { char current = encryptedMessage.charAt(i); if (isCapitalLatinLetter(current)) { - current -= shift; + current -= (char) shift; decoded.append((char) (current < 'A' ? current + 26 : current)); // 26 = number of latin letters } else if (isSmallLatinLetter(current)) { - current -= shift; + current -= (char) shift; decoded.append((char) (current < 'a' ? current + 26 : current)); // 26 = number of latin letters } else { decoded.append(current); diff --git a/src/main/java/com/thealgorithms/maths/AliquotSum.java b/src/main/java/com/thealgorithms/maths/AliquotSum.java index 0dbc58bed605..996843b56826 100644 --- a/src/main/java/com/thealgorithms/maths/AliquotSum.java +++ b/src/main/java/com/thealgorithms/maths/AliquotSum.java @@ -56,7 +56,7 @@ public static int getAliquotSum(int n) { // if n is a perfect square then its root was added twice in above loop, so subtracting root // from sum if (root == (int) root) { - sum -= root; + sum -= (int) root; } return sum; } diff --git a/src/main/java/com/thealgorithms/maths/PerfectNumber.java b/src/main/java/com/thealgorithms/maths/PerfectNumber.java index 2a935b067094..f299d08e5d27 100644 --- a/src/main/java/com/thealgorithms/maths/PerfectNumber.java +++ b/src/main/java/com/thealgorithms/maths/PerfectNumber.java @@ -63,7 +63,7 @@ public static boolean isPerfectNumber2(int n) { // if n is a perfect square then its root was added twice in above loop, so subtracting root // from sum if (root == (int) root) { - sum -= root; + sum -= (int) root; } return sum == n; diff --git a/src/main/java/com/thealgorithms/maths/Volume.java b/src/main/java/com/thealgorithms/maths/Volume.java index 4b73f849bb81..3cc2d24c23e0 100644 --- a/src/main/java/com/thealgorithms/maths/Volume.java +++ b/src/main/java/com/thealgorithms/maths/Volume.java @@ -90,4 +90,9 @@ public static double volumePrism(double baseArea, double height) { public static double volumePyramid(double baseArea, double height) { return (baseArea * height) / 3; } + + + public static double volumeFrustumOfCone(double r1, double r2, double height){ + return (Math.PI * height / 3) * (r1 * r1 + r2 * r2 + r1 * r2); + } } diff --git a/src/main/java/com/thealgorithms/maths/VolumeTest.java b/src/main/java/com/thealgorithms/maths/VolumeTest.java new file mode 100644 index 000000000000..a0e76d4f637c --- /dev/null +++ b/src/main/java/com/thealgorithms/maths/VolumeTest.java @@ -0,0 +1,27 @@ +package com.thealgorithms.maths; + +import org.junit.Test; + +import static org.junit.Assert.assertTrue; + +public class VolumeTest { + + @Test + public void volume(){ + +// test cube + assertTrue(Volume.volumeCube(7) == 343.0); + assertTrue(Volume.volumeCuboid(2, 5, 7) == 70.0); + assertTrue(Volume.volumeSphere(7) == 1436.7550402417319); + assertTrue(Volume.volumeCylinder(3, 7) == 197.92033717615698); + assertTrue(Volume.volumeHemisphere(7) == 718.3775201208659); + assertTrue(Volume.volumeCone(3, 7) == 65.97344572538566); + assertTrue(Volume.volumePrism(10, 2) == 20.0); + assertTrue(Volume.volumePyramid(10, 3) == 10.0); + assertTrue(Volume.volumeFrustumOfCone(3, 5, 7) == 359.188760060433); + + + + } + +}