In this tutorial, we are going to learn writing java program to print all the prime numbers that are smaller than or equal to the number given as an input by the user.
Problem Statement
For any number that is input by the user, we have to print all the prime numbers. For example
Case1: If the user inputs number 12
then the output should be ‘2, 3, 5, 7, 11’.
Case2: If the user inputs a number 51.
then the output should be ‘2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47 ’.
What is Prime Number?
Prime Numbers are the numbers that have only 2 factors 1 and the number itself. It is only defined for the number which is greater than ‘1’. ‘2’ is the smallest prime number.
Some examples
- 5 is a prime number because only factors of 5 are ‘1 and 5’.
- 11 is a prime number because only factors of 11 are ‘1 and 11’.
- 10 is not prime because the factors of 10 are ‘ 1,2,5 and 10’.
Java Program to Print First n Prime Number
import java.util.*;
public class Main
{
public static void main(String[] args) {
int i=0,n,temp,temp1=1;
Scanner sc = new Scanner(System.in);
System.out.println("Give input to find Prime number before ");
n= sc.nextInt();
System.out.println("Prime numbers are before "+n);
while(temp1<=n){
temp=0;
for(i=2;i<=(temp1/2);i++){
if(temp1%i==0)
{
temp=1;
break;
}
}
if(temp==0){
System.out.println(temp1);
}
temp1++;
}
}
}
Output
Give input to find Prime number before
5
Prime numbers are before 5
1
2
3
5
Explanation
The input number is 9, so our program will check all the numbers smaller than 9 and greater than 0. The numbers that do not have any other factor other than 1 and itself, i.e. prime numbers which are smaller than 9 are 1,2,3,5, and 7.
Program Explanation
- Imports and Setup:
import java.util.*;
imports the Java utility package, which includes theScanner
class for reading input from the user.
- Main Class and Method:
- The program defines a public class named
Main
and themain
method, which is the entry point of any Java application.
- The program defines a public class named
- Variable Initialization:
int i = 0, n, temp, temp1 = 1;
declares and initializes several integer variables:i
is used for looping.n
will store the user input specifying the upper limit for finding prime numbers.temp
is used as a flag to indicate whether a number is prime.temp1
is initialized to 1 and is used to check each number up ton
.
- Input from User:
- A
Scanner
objectsc
is created to read input from the console. - The program prompts the user to enter the value of
n
, which is the limit up to which prime numbers will be found.
- A
- Prime Number Detection:
- A
while
loop runs from 1 up ton
(inclusive) usingtemp1
as the loop variable. - For each value of
temp1
, an innerfor
loop runs from 2 totemp1/2
. Iftemp1
is divisible by any number in this range (i
),temp
is set to 1, and the loop breaks.- The division by 2 in the loop condition (
temp1/2
) is an optimization to reduce the number of checks required, as a number cannot have factors larger than its half (excluding itself).
- The division by 2 in the loop condition (
- A
- Prime Check and Output:
- After the inner loop, if
temp
remains 0 (indicating no divisors were found other than 1 and itself),temp1
is identified as a prime number and printed. temp1
is then incremented to check the next number.
- After the inner loop, if
- Loop Continuation:
- The process continues until all numbers from 1 to
n
have been checked.
- The process continues until all numbers from 1 to