HERE IS THE CODE:
class BirthdayParadox
{
private int N=0;
boolean A[];
BirthdayParadox ( int n)
{
N=n;
A = new boolean[N];
for (int iLoop=0; iLoop<N; iLoop++)
{
A[iLoop]=false;
}
}
public int Go()
{
boolean done_flag = false;
int count=0;
while (done_flag==false)
{
int iIndex = (int) (Math.random()*(N-1))+1;
System.out.println(iIndex);
if (A[iIndex]==false)
{
count++;
A[iIndex]=true;
}
else
{
System.out.println(" Match found on " + iIndex);
done_flag = true;
break;
}
}
System.out.println(" count = " + count);
return(count);
}
public static void main(String args[])
{
BirthdayParadox myBirthdayParadox = new BirthdayParadox(5000);
myBirthdayParadox.Go();
}
} //class