Search This Blog

Sunday, January 15, 2012

Nth Prime Number - JAVA



 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