Advertisement
Guest User

Untitled

a guest
Nov 18th, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. package prog11;
  2. import prog10.BTree;
  3. import prog11.*;
  4.  
  5. import java.io.File;
  6. import java.util.Scanner;
  7.  
  8. import prog02.UserInterface;
  9. import prog02.ConsoleUI;
  10. import prog02.GUI;
  11. import java.util.Map;
  12. import java.util.TreeMap;
  13. import java.util.Arrays;
  14. import java.util.ArrayList;
  15. import prog08.Tree;
  16. public class Jumble {
  17. /**
  18. * Sort the letters in a word.
  19. * @param word Input word to be sorted, like "computer".
  20. * @return Sorted version of word, like "cemoptru".
  21. */
  22. public static String sort (String word) {
  23. char[] sorted = new char[word.length()];
  24.  
  25. for (int i = 0; i < word.length(); i++)
  26. sorted[i] = word.charAt(i);
  27.  
  28. Arrays.sort(sorted);
  29.  
  30. return new String(sorted, 0, word.length());
  31. }
  32.  
  33. public static void main (String[] args) {
  34. UserInterface ui = new GUI();
  35. Map<String,ArrayList<String>> map = new ChainedHashTable<String,ArrayList<String>>();
  36.  
  37. Scanner in = null;
  38. do {
  39. try {
  40. in = new Scanner(new File(ui.getInfo("Enter word file.")));
  41. } catch (Exception e) {
  42. System.out.println(e);
  43. System.out.println("Try again.");
  44. }
  45. } while (in == null);
  46.  
  47. int n = 0;
  48. while (in.hasNextLine()) {
  49. ArrayList<String> words = new ArrayList<String>();
  50. String word = in.nextLine();
  51. if (n++ % 1000 == 0)
  52. System.out.println(word + " sorted is " + sort(word));
  53. if(map.get(sort(word)) == null)
  54. {
  55. words.add(word);
  56. map.put(sort(word), words);
  57. }
  58. else
  59. map.get(sort(word)).add(word);
  60. // EXERCISE: Insert an entry for word into map.
  61. // What is the key? What is the value?
  62. }
  63. String sorted;
  64. while (true) {
  65. String jumble = ui.getInfo("Enter a jumble to unjumble it or press cancel to solve for the pun.");
  66. if (jumble == null)
  67. break;
  68. else
  69. sorted = sort(jumble);
  70. // EXERCISE: Look up the jumble in the map.
  71. // What key do you use?
  72. ArrayList<String> word = map.get(sorted);
  73. if (word == null)
  74. ui.sendMessage("No match for " + jumble);
  75. else
  76. ui.sendMessage(jumble + " unjumbled is " + word);
  77. }
  78. while(true){
  79. //SOLVE PUN
  80. String clue = ui.getInfo("Please enter the clue letters.");
  81. while(clue == null)
  82. {
  83. ui.sendMessage("Please try again.");
  84. clue = ui.getInfo("Please enter the clue letters.");
  85. }
  86. clue = sort(clue);
  87. break;
  88. }
  89. }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement