public enum Roman
{
M(1000), CM(900), D(500), CD(400), C(100),
XC(90), L(50), XL(40), X(10), IX(9), V(5),
IV(4), I(1);
private int number;
private Roman(int number)
{
this.number = number;
}
public int getNumber()
{
return number;
}
public static String toRoman(int arabicInt)
{
StringBuilder result = new StringBuilder();
for (int i = 0; i < values().length; i++)
{
int termCount = arabicInt / values()[i].getNumber();
for (int j = 0; j < termCount; j++)
{
result.append(values()[i].toString());
}
arabicInt %= values()[i].getNumber();
}
return result.toString();
}
} |