e24a8da4ad2d71a39de6d861cc058813bedbf0c8
[JavaForFun] /
1 package org.craftedsw.romannumerals;
2
3 public class RomanNumeralGenerator {
4
5         public static String romanFor(int decimal) {
6                 String roman = "";
7                 for (RomanToDecimal romanToDecimal : RomanToDecimal.values()) {
8                         while (decimal >= romanToDecimal.decimal) {
9                                 roman += romanToDecimal.roman;
10                                 decimal -= romanToDecimal.decimal;
11                         }
12                 }
13                 for (int i = 0; i < decimal; i++) {
14                         roman  += "I";
15                 }
16                 
17                 return roman;
18         }
19
20         enum RomanToDecimal {
21                 TEN("X", 10),
22                 FIVE("V", 5);
23                 
24                 private final String roman;
25                 private final int decimal;
26                 
27                 private RomanToDecimal(String roman, int decimal) {
28                         this.roman = roman;
29                         this.decimal = decimal;
30                 }
31         }
32 }