import java.awt.Font; import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Scanner; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * * @author Bill Kraynek */ public class CountWordsWithWordClass { /** * @param args the command line arguments */ public static void main(String[] args) throws Exception { Scanner fileScanner = new Scanner(new File("src/CountWordsWithWordClass.java")); fileScanner.useDelimiter("[^A-Za-z]+"); ArrayList words = new ArrayList(); while (fileScanner.hasNext()) { WordClass word = new WordClass(fileScanner.next()); int index = words.indexOf(word); if (index == -1) { words.add(word); } else { words.get(index).incrementCount(); }// end if }// end while display(words); Collections.sort(words); display(words); Collections.sort(words, new WordClass.CountWordsComparator()); display(words); } static void display(ArrayList words) { String out = ""; for (int i = 0; i < words.size(); i++) { out += words.get(i); }// end for JTextArea outArea = new JTextArea(out, 40, 40); outArea.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 15)); JOptionPane.showMessageDialog(null, new JScrollPane(outArea)); } }