Questo programmino dovrebbe fare al caso tuo... però non riconosce nemmeno le parole che contengono àèéòù perchè non ricordo i loro rispettivi codici ascii puoi controllare tu e modificare gli if ok fammi sapre ciao!

import javax.swing.*;
import java.util.*;

public class Parole {

public static void main ( String args[] )
{
String input,output="", temp="";
boolean trovato;

input = JOptionPane.showInputDialog(" Input "); // effettuo l'imput


StringTokenizer tokens = new StringTokenizer ( input );//tokenizza la prima stringa

while ( tokens.hasMoreTokens() ){// inizio while
temp = tokens.nextToken();
trovato = true;
for ( int i = 0; i < temp.length(); i++ ){ // inizio for
if ( temp.charAt(i) < 'A' || temp.charAt(i) > 'z' ){// inizio if
trovato = false;
break;
} // fine if


} // fine for

if ( trovato == true )
output += temp + " ";

}// fine while

JOptionPane.showMessageDialog(null,output," L'array contiene ",
JOptionPane.WARNING_MESSAGE);

System.exit(0);

}
}