Array Help - Finding and replacing duplicate cells
This method is designed to check an integer array for duplicates. It will compile and run but the logic is flawed somewhere.
The method is designed to find duplicates and replace them with another random number, and continue until no more duplicates are found.
Code:
public static void checkDuplicates(int[] a)
{
int[] num = new int[a.length + 1];
boolean done = false;
for(int e = 0; e < a.length; e++)
{
num[a[e]]++;
}
while(done)
{
done = false;
for(int e = 0; e < a.length; e++)
{
num[a[e]]++;
}
for(int e = 0; e < num.length - 1; e++)
{
if(num[e] == 2)
{
num[e]--;
int index = search(a, e);
a[index] = gen.nextInt(25) + 1;
done = true;
}
}
for(int e = 0; e < num.length; e++)
{
num[e] = 0;
}
}
}
public static int search(int[] a, int value)
{
int e;
for(e = 0; e < a.length; e++)
{
if(a[e] == value)
break;
}
return e;
}
Thanks in advance for the help!
AB