diff --git a/DIRECTORY.md b/DIRECTORY.md index 6abc2b57..8e84bc15 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -146,6 +146,7 @@ * [PerfectNumber](https://github.com/TheAlgorithms/Java/blob/master/Maths/PerfectNumber.java) * [PerfectSquare](https://github.com/TheAlgorithms/Java/blob/master/Maths/PerfectSquare.java) * [Pow](https://github.com/TheAlgorithms/Java/blob/master/Maths/Pow.java) + * [PowerOfTwoOrNot](https://github.com/TheAlgorithms/Java/blob/master/Maths/PowerOfTwoOrNot.java) * [PowRecursion](https://github.com/TheAlgorithms/Java/blob/master/Maths/PowRecursion.java) * [PrimeCheck](https://github.com/TheAlgorithms/Java/blob/master/Maths/PrimeCheck.java) * [PrimeFactorization](https://github.com/TheAlgorithms/Java/blob/master/Maths/PrimeFactorization.java) @@ -182,7 +183,6 @@ * [LowestBasePalindrome](https://github.com/TheAlgorithms/Java/blob/master/Others/LowestBasePalindrome.java) * [PasswordGen](https://github.com/TheAlgorithms/Java/blob/master/Others/PasswordGen.java) * [PerlinNoise](https://github.com/TheAlgorithms/Java/blob/master/Others/PerlinNoise.java) - * [PowerOfTwoOrNot](https://github.com/TheAlgorithms/Java/blob/master/Others/PowerOfTwoOrNot.java) * [QueueUsingTwoStacks](https://github.com/TheAlgorithms/Java/blob/master/Others/QueueUsingTwoStacks.java) * [RabinKarp](https://github.com/TheAlgorithms/Java/blob/master/Others/RabinKarp.java) * [RemoveDuplicateFromString](https://github.com/TheAlgorithms/Java/blob/master/Others/RemoveDuplicateFromString.java) diff --git a/Maths/PowerOfTwoOrNot.java b/Maths/PowerOfTwoOrNot.java new file mode 100644 index 00000000..d03151bc --- /dev/null +++ b/Maths/PowerOfTwoOrNot.java @@ -0,0 +1,28 @@ +package Maths; + +/** + * A utility to check if a given number is power of two or not. + * For example 8,16 etc. + */ + +public class PowerOfTwoOrNot { + + public static void main(String[] args) { + assert !checkIfPowerOfTwoOrNot(0); + assert checkIfPowerOfTwoOrNot(1); + assert checkIfPowerOfTwoOrNot(8); + assert checkIfPowerOfTwoOrNot(16); + assert checkIfPowerOfTwoOrNot(1024); + } + + + /** + * Checks whether given number is power of two or not. + * + * @param number the number to check + * @return {@code true} if given number is power of two, otherwise {@code false} + */ + public static boolean checkIfPowerOfTwoOrNot(int number) { + return number != 0 && ((number & (number - 1)) == 0); + } +} diff --git a/Others/PowerOfTwoOrNot.java b/Others/PowerOfTwoOrNot.java deleted file mode 100644 index 8f040013..00000000 --- a/Others/PowerOfTwoOrNot.java +++ /dev/null @@ -1,36 +0,0 @@ -package Others; - -import java.util.Scanner; - -/** - * A utility to check if a given number is power of two or not. - * For example 8,16 etc. - */ - -public class PowerOfTwoOrNot { - - public static void main(String[] args) { - - Scanner sc = new Scanner(System.in); - System.out.println("Enter the number"); - int num = sc.nextInt(); - boolean isPowerOfTwo = checkIfPowerOfTwoOrNot(num); - if (isPowerOfTwo) { - System.out.println("Number is a power of two"); - } else { - System.out.println("Number is not a power of two"); - } - sc.close(); - } - - - /** - * Checks whether given number is power of two or not. - * - * @param number - * @return boolean - */ - public static boolean checkIfPowerOfTwoOrNot(int number) { - return number != 0 && ((number & (number - 1)) == 0); - } -}