All pastes #545938 Raw Edit

ELIC

public java v1 · immutable
·published 2007-06-06 22:26 UTC
rendered paste body
/** *  */import java.io.File;import java.io.FileNotFoundException;import java.util.ArrayList;import java.util.Scanner;/** * @author Brian *  */public class ELIC{	static ArrayList<String>	eight	= new ArrayList<String>();	static ArrayList<String>	five	= new ArrayList<String>();	static ArrayList<String>	four	= new ArrayList<String>();	static String				input	= "732559";	static ArrayList<String>	nine	= new ArrayList<String>();	static ArrayList<String>	seven	= new ArrayList<String>();	static ArrayList<String>	six		= new ArrayList<String>();	static ArrayList<String>	three	= new ArrayList<String>();	static ArrayList<String>	two		= new ArrayList<String>();	public static boolean findWord(final int k, final String prefix)	{		if (k < input.length())		{			if (input.substring(k, k + 1).equals("2"))			{				for (int z = 0; z < two.size(); z++)				{					if (two.get(z).startsWith(prefix + "a"))					{						if (two.get(z).equals(prefix + "a"))						{							System.out.println(prefix + "a");							if (k < input.length())							{								if (k < input.length())								{									findWord(k + 1, "");								}							}						}						if (findWord(k + 1, prefix + "a"))						{							return true;						}					}					if (two.get(z).startsWith(prefix + "b"))					{						if (two.get(z).equals(prefix + "b"))						{							System.out.println(prefix + "b");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "b"))						{							return true;						}					}					if (two.get(z).startsWith(prefix + "c"))					{						if (two.get(z).equals(prefix + "c"))						{							System.out.println(prefix + "c");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "c"))						{							return true;						}					}				}				// abc;			}			else if (input.substring(k, k + 1).equals("3"))			{				for (int z = 0; z < three.size(); z++)				{					if (three.get(z).startsWith(prefix + "d"))					{						if (three.get(z).equals(prefix + "d"))						{							System.out.println(prefix + "d");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "d"))						{							return true;						}					}					if (three.get(z).startsWith(prefix + "e"))					{						if (three.get(z).equals(prefix + "e"))						{							System.out.println(prefix + "e");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "e"))						{							return true;						}					}					if (three.get(z).startsWith(prefix + "f"))					{						if (three.get(z).equals(prefix + "f"))						{							System.out.println(prefix + "f");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "f"))						{							return true;						}					}				}				// def;			}			else if (input.substring(k, k + 1).equals("4"))			{				for (int z = 0; z < four.size(); z++)				{					if (four.get(z).startsWith(prefix + "g"))					{						if (four.get(z).equals(prefix + "g"))						{							System.out.println(prefix + "g");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "g"))						{							return true;						}					}					if (four.get(z).startsWith(prefix + "h"))					{						if (four.get(z).equals(prefix + "h"))						{							System.out.println(prefix + "h");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "h"))						{							return true;						}					}					if (four.get(z).startsWith(prefix + "i"))					{						if (four.get(z).equals(prefix + "i"))						{							System.out.println(prefix + "i");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "i"))						{							return true;						}					}				}				// ghi;			}			else if (input.substring(k, k + 1).equals("5"))			{				for (int z = 0; z < five.size(); z++)				{					if (five.get(z).startsWith(prefix + "j"))					{						if (five.get(z).equals(prefix + "j"))						{							System.out.println(prefix + "j");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "j"))						{							return true;						}					}					if (five.get(z).startsWith(prefix + "k"))					{						if (five.get(z).equals(prefix + "k"))						{							System.out.println(prefix + "k");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "k"))						{							return true;						}					}					if (five.get(z).startsWith(prefix + "l"))					{						if (five.get(z).equals(prefix + "l"))						{							System.out.println(prefix + "l");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "l"))						{							return true;						}					}				}				// jkl;			}			else if (input.substring(k, k + 1).equals("6"))			{				for (int z = 0; z < six.size(); z++)				{					if (six.get(z).startsWith(prefix + "m"))					{						if (six.get(z).equals(prefix + "m"))						{							System.out.println(prefix + "m");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "m"))						{							return true;						}					}					if (six.get(z).startsWith(prefix + "n"))					{						if (six.get(z).equals(prefix + "n"))						{							System.out.println(prefix + "n");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "n"))						{							return true;						}					}					if (six.get(z).startsWith(prefix + "o"))					{						if (six.get(z).equals(prefix + "o"))						{							System.out.println(prefix + "o");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "o"))						{							return true;						}					}				}				// mno;			}			else if (input.substring(k, k + 1).equals("7"))			{				for (int z = 0; z < seven.size(); z++)				{					if (seven.get(z).startsWith(prefix + "p"))					{						if (seven.get(z).equals(prefix + "p"))						{							System.out.println(prefix + "p");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "p"))						{							return true;						}					}					if (seven.get(z).startsWith(prefix + "q"))					{						if (seven.get(z).equals(prefix + "q"))						{							System.out.println(prefix + "q");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "q"))						{							return true;						}					}					if (seven.get(z).startsWith(prefix + "r"))					{						if (seven.get(z).equals(prefix + "r"))						{							System.out.println(prefix + "r");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "r"))						{							return true;						}					}					if (seven.get(z).startsWith(prefix + "s"))					{						if (seven.get(z).equals(prefix + "s"))						{							System.out.println(prefix + "s");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "s"))						{							return true;						}					}				}				// pqrs;			}			else if (input.substring(k, k + 1).equals("8"))			{				for (int z = 0; z < eight.size(); z++)				{					if (eight.get(z).startsWith(prefix + "t"))					{						if (eight.get(z).equals(prefix + "t"))						{							System.out.println(prefix + "t");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "t"))						{							return true;						}					}					if (eight.get(z).startsWith(prefix + "u"))					{						if (eight.get(z).equals(prefix + "u"))						{							System.out.println(prefix + "u");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "u"))						{							return true;						}					}					if (eight.get(z).startsWith(prefix + "v"))					{						if (eight.get(z).equals(prefix + "v"))						{							System.out.println(prefix + "v");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "v"))						{							return true;						}					}				}				// tuv;			}			else if (input.substring(k, k + 1).equals("9"))			{				for (int z = 0; z < nine.size(); z++)				{					if (nine.get(z).startsWith(prefix + "w"))					{						if (nine.get(z).equals(prefix + "w"))						{							System.out.println(prefix + "w");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "w"))						{							return true;						}					}					if (nine.get(z).startsWith(prefix + "x"))					{						if (nine.get(z).equals(prefix + "x"))						{							System.out.println(prefix + "x");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "x"))						{							return true;						}					}					if (nine.get(z).startsWith(prefix + "y"))					{						if (nine.get(z).equals(prefix + "y"))						{							System.out.println(prefix + "y");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "y"))						{							return true;						}					}					if (nine.get(z).startsWith(prefix + "z"))					{						if (nine.get(z).equals(prefix + "z"))						{							System.out.println(prefix + "z");							if (k < input.length())							{								findWord(k + 1, "");							}						}						if (findWord(k + 1, prefix + "z"))						{							return true;						}					}				}				// wxyz;			}		}		return false;	}	/**	 * @param args	 * @throws FileNotFoundException	 */	public static void main(final String[] args) throws FileNotFoundException	{		// TODO Auto-generated method stub		// ArrayList<String> wordList = new ArrayList<String>();		final Scanner wordsIn = new Scanner(new File(System.getProperty("user.dir") + File.separator + "SINGLE.TXT"));		while (wordsIn.hasNextLine())		{			final String temp = wordsIn.nextLine();			if (temp.startsWith("a") || temp.startsWith("b") || temp.startsWith("c"))			{				two.add(temp);			}			else if (temp.startsWith("d") || temp.startsWith("e") || temp.startsWith("f"))			{				three.add(temp);			}			else if (temp.startsWith("g") || temp.startsWith("h") || temp.startsWith("i"))			{				four.add(temp);			}			else if (temp.startsWith("j") || temp.startsWith("k") || temp.startsWith("l"))			{				five.add(temp);			}			else if (temp.startsWith("m") || temp.startsWith("n") || temp.startsWith("o"))			{				six.add(temp);			}			else if (temp.startsWith("p") || temp.startsWith("q") || temp.startsWith("r") || temp.startsWith("s"))			{				seven.add(temp);			}			else if (temp.startsWith("t") || temp.startsWith("u") || temp.startsWith("v"))			{				eight.add(temp);			}			else if (temp.startsWith("w") || temp.startsWith("x") || temp.startsWith("y") || temp.startsWith("z"))			{				nine.add(temp);			}		}		findWord(0, "");	}}