/* Steve Ericsson
DeDup.java
CS 111A Programming Lab 7
Program to remove duplicates from an array
*/
// Java packages
import java.io.*;
public class DeDup
{
public static void main (String args []) throws IOException
{
int numbers [] = new int [10];
int remainEle;
String output = "";
BufferedReader keyIn = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter 10 integers, hitting return after each one: ");
for (int i = 0; i < 10; ++i)
numbers[i] = Integer.parseInt(keyIn.readLine());
remainEle = findDups(numbers);
for (int i = 0; i < remainEle; ++i)
output += numbers[i] + " ";
System.out.println("You entered " + remainEle + " unique numbers:");
System.out.println(output);
} // end main
public static int findDups(int [] a) // checks for duplicate entries in the array
{
int numEle = a.length, x = 0, y;
do // loop through all indexes, using x
{
// search for duplicates of a[x] in later elements
for (y = x + 1; y < numEle;)
if(a[x] == a[y]) // if duplicate found
{
// delete a[y] by moving all following elements back one spot
for (int i = y; i < numEle - 1; ++i)
a[i] = a[i + 1];
numEle -= 1;
}
else
++y;
++x;
}while(x < numEle -1);
return numEle;
} // end findDups
} // end class DeDup
/* EXECUTION SCRIPT --
Script started on Wed May 5 17:00:11 2004
bash-2.04$ java DeDup
Please enter 10 integers, hitting return after each one:
5
75
10
75
5
80
10
5
5
50
You entered 5 unique numbers:
5 75 10 80 50
bash-2.04$ java DeDup
Please enter 10 integers, hitting return after each one:
1
2
3
4
5
6
7
8
9
10
You entered 10 unique numbers:
1 2 3 4 5 6 7 8 9 10
*/
syntax highlighted by Code2HTML, v. 0.9