public class CheckPrimeNumber
{
public static void main(String[] args)
{
int num = 23;
// Combined check for 0 and 1
if (num <= 1)
{
System.out.println(num + " is not a prime number.");
return; // Exit early for 0 and 1
}
boolean isPrime = true;
for (int i=2; i < num/2; i++)
{
if (num % i == 0)
{
isPrime = false;
break;
}
}
if (isPrime)
{
System.out.println(num + " is a prime number.");
}
else
{
System.out.println(num + " is not a prime number.");
}
}
}
23 is a prime number.
import java.util.Scanner;
public class CheckPrimeNumber
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.print("Enter the number: ");
int num = s.nextInt();
// Combined check for 0 and 1
if (num <= 1)
{
System.out.println(num + " is not a prime number.");
return; // Exit early for 0 and 1
}
boolean isPrime = true;
for (int i=2; i < num/2; i++)
{
if (num % i == 0)
{
isPrime = false;
break;
}
}
if (isPrime)
{
System.out.println(num + " is a prime number.");
}
else
{
System.out.println(num + " is not a prime number.");
}
}
}
Enter the number: 31 31 is a prime number.
isPrime
) initialized to true
, assuming the number is prime unless proven otherwise.
num <= 1
, it is not a prime number:
return;
to exit early (skips checking for factors).
2
to num / 2
. num % i == 0
, the number is divisible by i, so:
isPrime = false
(not prime).
break;
to exit the loop early (no need for further checks).
isPrime == true
, print "num is a prime number." scanner.close()
. i <= Math.sqrt(num)
in place of i < num / 2
because a number cannot have factors greater than its square root.
Your feedback helps us grow! If there's anything we can fix or improve, please let us know.
Weโre here to make our tutorials better based on your thoughts and suggestions.