3460afe3eab99c873c07ccd6abab9964e9aaaea9
[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                 
14                 return roman;
15         }
16
17         enum RomanToDecimal {
18                 TEN("X", 10),
19                 FIVE("V", 5),
20                 FOUR("IV", 4),
21                 ONE("I", 1);
22                 
23                 private final String roman;
24                 private final int decimal;
25                 
26                 private RomanToDecimal(String roman, int decimal) {
27                         this.roman = roman;
28                         this.decimal = decimal;
29                 }
30         }
31 }