Advertisement
Guest User

Untitled

a guest
Nov 25th, 2014
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3. import type.lib.*;
  4.  
  5. public class Check10B
  6. {
  7. public static void main (String [] args)
  8. {
  9. Scanner input = new Scanner(System.in);
  10. PrintStream output = new PrintStream(System.out);
  11.  
  12. Map<Integer,Integer> oriMap = new TreeMap<Integer, Integer>();
  13. Map<Integer,Integer> invMap = new TreeMap<Integer, Integer>();
  14.  
  15. output.println("Enter your map, one key-value pair per line,\ncomma-separated. Use empty line as sentinel.");
  16.  
  17. StringTokenizer st = new StringTokenizer("", ",");
  18.  
  19. for(String userInput = input.nextLine(); !userInput.equals(""); userInput = input.nextLine())
  20. {
  21. st = new StringTokenizer(userInput, ",");
  22. oriMap.put(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()));
  23. }
  24.  
  25. output.println("The input map is:\n" + oriMap + "\nThe inverted map [using the smaller key as a tie breaker]:");
  26.  
  27. Iterator it = oriMap.entrySet().iterator();
  28.  
  29. while (it.hasNext())
  30. {
  31. Map.Entry thisEntry = (Map.Entry) it.next();
  32.  
  33. if(invMap.containsKey(thisEntry.getValue()))
  34. {
  35. if (Integer.parseInt(invMap.get(thisEntry.getValue()).toString()) > Integer.parseInt(thisEntry.getKey().toString()))
  36. {
  37. invMap.put(Integer.parseInt(thisEntry.getValue().toString()), Integer.parseInt(thisEntry.getKey().toString()));
  38. }
  39. }
  40. else
  41. {
  42. invMap.put(Integer.parseInt(thisEntry.getValue().toString()), Integer.parseInt(thisEntry.getKey().toString()));
  43. }
  44. }
  45. output.println(invMap);
  46. }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement