# Thread: Finding nth prime number

1. Member
Join Date
Apr 2010
Posts
1
Rep Power
0

## Finding nth prime number

I am trying to write a code for a program that will find the n th prime number.As for example 7 is the 4th prime number,11 is the 5th.
The method will take argument as n,and it will find the nth prime number.But I am facing some difficulty with the code.The code doesnt terminate by itself and doesnt return the desired value.Someone please help me out.
Java Code:
```
public class Problem{

/**
* @param args
*/
public int findAns(int n){
int count=0;
int ret=0;
while(count<n){
for(int i=0;i<Integer.MAX_VALUE;i++){
if(ifPrime(i)){
count++;
}
ret=i;
}
}
return ret;
}
public boolean ifPrime(int num){
boolean b=false;
int i;
for (i=2; i < num ;i++ ){
int n = num%i;
if (n==0){
b=false;
break;
}
}
if(i == num){
b=true;
}
return b;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new Problem().findAns(10));
}

}```

2. Are you sure that you want both a for loop and a while loop here:
Java Code:
```    while(count<n){
for(int i=0;i<Integer.MAX_VALUE;i++){
if(ifPrime(i)){
count++;
}
ret=i;
}
}```

3. Senior Member
Join Date
Mar 2010
Posts
266
Rep Power
7
your

for(int i=0;i<Integer.MAX_VALUE;i++){

will never terminate (well not until you went through all integers). instead, do

for(int i=0;count < n && i<Integer.MAX_VALUE;i++){

and you should be good to go. That's not to say the algorithm could not be improved...

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•