# Power of Two

Easy
40
84.0% Acceptance

In this lab, you will create a Java method named `isPowerOfTwo`. This method will check if a given integer is a power of two and return a boolean value as the output.

### Objectives

• Write a method `public static boolean isPowerOfTwo(int number)` in the `Main` class.
• The method should return `true` if the provided integer is a power of two, and `false` otherwise.

### Considerations

• A number is a power of two if it can be written as 2^n where n is an integer.
• Remember to handle edge cases. For example, 1 (2^0) is a power of two, but 0 and negative numbers are not.

### Examples

1. `isPowerOfTwo(1)` should return `true` as 1 is 2 raised to the power of 0.
2. `isPowerOfTwo(5)` should return `false` as 5 cannot be expressed as 2 raised to an integer.

### Tips

• Consider the properties of powers of two in binary representation to simplify your logic.
• Don't forget to test your method with different inputs, including edge cases like 0, 1, and negative numbers.

## Challenges

### Challenge 1: Validate the Correct Method Name and the Method Return Type

• Objective: Confirm that you have declared a method named `isPowerOfTwo` that takes an integer as its parameter and returns a boolean value.
• Hint: Ensure your method is public, named exactly as `isPowerOfTwo`, and has the signature `public static boolean isPowerOfTwo(int number)`.

### Challenge 2: A Power of Two Returns True

• Objective: Write the `isPowerOfTwo` method such that it returns `true` when passed a number that is a power of two.
• Hint: Test your method with inputs like 2, 4, 8, 16, etc., to ensure it correctly identifies these as powers of two.

### Challenge 3: A Different Power of Two Returns True

• Objective: Ensure your method consistently returns `true` for different powers of two.
• Hint: Validate your method with various powers of two, like 32, 64, or 128, to confirm consistent behavior.

### Challenge 4: A Non-Power of Two Integer Returns False

• Objective: Your method should correctly return `false` for integers that are not powers of two.
• Hint: Try inputs such as 3, 6, 7, 9, etc., and check if your method accurately returns `false`.

By the end of this lab, you should have a robust method that accurately determines whether an integer is a power of two. Happy coding!