kalinkata

ArrangeIntegers

Mar 15th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1. package company;
  2.  
  3.  
  4. import java.util.ArrayList;
  5. import java.util.Arrays;
  6. import java.util.Scanner;
  7. import java.util.TreeMap;
  8. import java.util.stream.Collectors;
  9.  
  10. public class ArrangeIntegers {
  11. public static void main(String[] args) {
  12. Scanner scanner = new Scanner(System.in);
  13. int[] numbers = Arrays.asList(scanner.nextLine().split("[\\s,]+"))
  14. .stream().mapToInt(Integer::parseInt).toArray();
  15.  
  16. String[] sort = sorted(numbers);
  17.  
  18. ArrayList<String> output = new ArrayList<>();
  19.  
  20. for (int i = 0; i < sort.length; i++) {
  21. String[] line = sort[i].split("-");
  22.  
  23. TreeMap<String, Integer> map = new TreeMap<>();
  24. map.put("zero", 0);
  25. map.put("one", 1);
  26. map.put("two", 2);
  27. map.put("three", 3);
  28. map.put("four", 4);
  29. map.put("five", 5);
  30. map.put("six", 6);
  31. map.put("seven", 7);
  32. map.put("eight", 8);
  33. map.put("nine", 9);
  34.  
  35. StringBuilder num = new StringBuilder();
  36.  
  37. for (int j = 0; j < line.length; j++) {
  38. int current = map.get(line[j]);
  39.  
  40. num.append(current);
  41. }
  42.  
  43. output.add(num.toString());
  44. }
  45.  
  46. System.out.println(output.toString().substring(1, output.toString().length() - 1));
  47. }
  48.  
  49. public static String[] sorted(int[] numbers) {
  50. String[] nums = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
  51.  
  52. ArrayList<String> strNums = new ArrayList<>();
  53.  
  54. for (int i = 0; i < numbers.length; i++) {
  55. String number = Integer.toString(numbers[i]);
  56.  
  57. StringBuilder result = new StringBuilder();
  58.  
  59. for (int j = 0; j < number.length(); j++) {
  60. int index = Integer.parseInt(Character.toString(number.charAt(j)));
  61.  
  62. result.append(nums[index]);
  63.  
  64. if (j < number.length() - 1) {
  65. result.append("-");
  66. }
  67. }
  68.  
  69. strNums.add(result.toString());
  70. }
  71.  
  72. String[] endResult = strNums
  73. .stream().sorted((str1, str2) -> str1.compareTo(str2))
  74. .collect(Collectors.toList()).toArray(new String[strNums.size()]);
  75.  
  76. return endResult;
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment