Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
罗马数字 I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000)
罗马数字是左减右加
只需记住罗马数字转为整型数字的减操作注意事项:
1. 只能用I、X、C
2. 不能跨界,即不能跨越位数 比如 99, 只能用 XCIX,而不能用IC
3. 左减数字必须为一位,比如8为VIII而非IIX
Source
public String intToRoman(int num) {
int[] inte = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
String[] rom = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
int i = 0;
String str = new String();
while(num != 0){
while(num >= inte[i]){
num -= inte[i];
str = str + rom[i];
}
i ++;
}
return str;
}
Test
public static void main(String[] args){
int num = 2;
String a = new Solution().intToRoman(num);
System.out.println(a);
}