Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. import java.util.TreeMap;
  2.  
  3. public class Convertor {
  4.  
  5. private TreeMap<Integer, String> map;
  6.  
  7. public Convertor() {
  8. map = new TreeMap<>();
  9. map.put(1000, "M");
  10. map.put(900, "CM");
  11. map.put(500, "D");
  12. map.put(400, "CD");
  13. map.put(100, "C");
  14. map.put(90, "XC");
  15. map.put(50, "L");
  16. map.put(40, "XL");
  17. map.put(10, "X");
  18. map.put(9, "IX");
  19. map.put(5, "V");
  20. map.put(4, "IV");
  21. map.put(1, "I");
  22. }
  23.  
  24. public String arabicToRomanNumber(int number) {
  25.  
  26. if (number <= 0 || number >= 4001) {
  27. throw new IllegalArgumentException("Out of range!");
  28. }
  29.  
  30. int transformedNumber = 0;
  31. StringBuilder romanNum = new StringBuilder();
  32.  
  33. while (number != 0) {
  34. transformedNumber = map.floorKey(number);
  35. String toBeAdded = map.get(transformedNumber);
  36. number -= transformedNumber;
  37. romanNum.append(toBeAdded);
  38. }
  39.  
  40. return romanNum.toString();
  41. }
  42.  
  43.  
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement