对各个位的值分别处理
class Solution {
public String intToRoman(int num) {
String res = "";
//先将数字分成至多四个数字的和
int num1 = num/1000;//千
int num2 = (num%1000)/100;//百
int num3 = (num/10)%10;//十
int num4 = num%10;//个
for(int i = 0; i < num1; i++){
res += "M";
}
if(num2 > 0){
if(num2 == 4) res += "CD";
else if(num2 ==9) res +="CM";
else{
if(num2 >=5){
res+="D";
num2 -=5;
}
for(int i = num2; i >0; i--){
res+="C";
}
}
}
if(num3 > 0){
if(num3 == 4) res += "XL";
else if(num3 ==9) res +="XC";
else{
if(num3 >=5){
res+="L";
num3 -=5;
}
for(int i = num3; i >0; i--){
res+="X";
}
}
}
if(num4 > 0){
if(num4 == 4) res += "IV";
else if(num4 ==9) res +="IX";
else{
if(num4 >=5){
res+="V";
num4 -=5;
}
for(int i = num4; i >0; i--){
res+="I";
}
}
}
return res;
}
}