//Torbert, 12.1.2003 import java.util.ArrayList; import java.util.Arrays; public class Anagram { public static void main(String[] args) { ArrayList dict = new ArrayList(); load("lower.txt", dict); String x; ArrayList ana = new ArrayList(); EasyReader console = new EasyReader(); do { System.out.print("\nWhat word? "); x = console.readLine(); if(!x.equals("")) { anagram(x, dict, ana); System.out.println(ana); while(ana.size() != 0) ana.remove(ana.size() - 1); } }while(!x.equals("")); } public static void load(String filename, ArrayList al) { EasyReader in = new EasyReader(filename); String x; while((x = in.readLine()) != null) al.add(x); in.close(); } public static void anagram(String target, ArrayList dictionary, ArrayList output) { char[] a = target.toCharArray(); Arrays.sort(a); for(int k = 0; k < dictionary.size(); k++) { String x = (String)dictionary.get(k); if(x.length() == target.length() && !x.equals(target)) { char[] b = ((String)dictionary.get(k)).toCharArray(); Arrays.sort(b); if(new String(a).equals(new String(b))) output.add(x); } } } }