Code:public class duplicate
{
public static void main(String[] args)throws IOException
{
System.out.println("Enter words separated by spaces ('.' to quit):");
Set<String> s = new HashSet<String>();
Scanner input = new Scanner(System.in);
while (true)
{
String token = input.next();
if (".".equals(token))
break;
if (!s.add(token))
System.out.println("Duplicate detected: " + token);
}
System.out.println(s.size() + " distinct words:\n" + s);
Set<String> duplicatesnum = new HashSet<String>();
String token = input.next();
if (!s.add(token))
{
duplicatesnum.add(token);
System.out.println(“Duplicate detected: ” + token);
}
System.out.println(duplicatesnum.size());
}
}
the output is:
Enter words separated by spaces (‘.’ to quit):
one two one two .
Duplicate detected: one
Duplicate detected: two
2 distinct words:
[two, one]
I assume you want to know the number of different duplicate words. You can use another
HashSet<String>for the duplicates.Also if you care for the occurences of each word declare a
HashMap<String, Integer>as in others posts is mentioned.But if you want the number of all duplicate words(not different) just declare a counter: