The problem
A prime number is a number that is only evenly divisible by itself and 1. For example, the number 5 is prime because it can only be evenly divided by 1 and 5. The number 6, however, is not prime because it can be divided evenly by 1, 2, 3, and 6.
Write a method named isPrime, which takes an integer as an argument and returns true if the argument is a prime number, or false otherwise.
Breaking it down
Write a isPrime method
The isPrime method determines whether a number is prime. Primes
is a utility class found in apache commons. The Primes.isPrime
is already a utility method and in this instance it is being wrapped in the isPrime
for illustration purposes.
public static boolean isPrime(int number) {
return Primes.isPrime(number);
}
Putting it together
public static void main(String[] args) {
String message;
int number;
Scanner keyboard = new Scanner(System.in);
// Get the tract in feet.
System.out.print("Enter a number: ");
number = keyboard.nextInt();
// Determine whether it is prime or not.
if (isPrime(number)) {
message = "is a prime number.";
} else {
message = " is not a prime number.";
}
System.out.println("The number " + number
+ message);
}
Output
Enter a number: 31
The number 31 is a prime number.
Unit tests
@Test
public void is_prime() {
assertTrue(NumberIsPrime.isPrime(31));
}
@Test
public void is_not_prime() {
assertFalse(NumberIsPrime.isPrime(66));
}
Level Up
- Adjust program to enable user to continously enter a number to check
- Add validation to verify input