import java.util.Scanner;
public class NthPrimeNumberTest {
public static void main(String[] args){
PrimeNumber obj = null; // 1. Creating a reference variable obj of type PrimeNumber
int primeNumberCount = 1; // 2. to track the number of prime numbers
int j=3; // 3. counter which will go upto n
Scanner s = new Scanner(System.in);
System.out.println("Enter the number :");
int n = s.nextInt(); // 4. Taking user input as n
if(n <= 0 ){
System.out.println("Bad Input");
}
else if(n == 1){
System.out.println("2");
}
else{
while(primeNumberCount<n){ // 5. While loop will execute till we get nth prime
obj = new PrimeNumber(j); // 6. creating new object of type PrimeNumber, referred by obj
obj.checkForPrime();
if(obj.isPrime){ // 7. Checking if the number j is prime
primeNumberCount++; // 8. If it is, increase the count of prime number
// System.out.println(j); // 9. printing that prime number
}
j++;
}
System.out.println(--j); // 10. print the nth prime
}
}
}
class PrimeNumber{
int number;
boolean isPrime = true;
public PrimeNumber(int number){
this.number = number;
}
public void checkForPrime(){
for(int i=2 ; i<=(int)Math.sqrt((double)number) ; i++){
if(number%i == 0){
isPrime = false;
break;
}
}
}
}
No comments:
Post a Comment