diff --git a/Maths/PowerOfTwoOrNot.java b/Maths/PowerOfTwoOrNot.java new file mode 100644 index 000000000..d03151bcb --- /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 8f0400133..000000000 --- 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); - } -}