您的位置:首页 > 其它

Integer to Roman

2014-02-06 05:01 411 查看
Given an integer, convert it to a roman numeral.

public class Solution {
public String intToRoman(int num) {
char[] sym = {'I','V','X','L','C','D','M'};
int scale = 1000;
StringBuilder sb = new StringBuilder();
for(int i=6;i>=0;i=i-2){
int digit = num/scale;
if(digit>0){
if(digit<=3){
for(int j=0;j<digit;j++){
sb.append(sym[i]);
}
}
else if(digit==4){
sb.append(sym[i]);
sb.append(sym[i+1]);
}
else if(digit==5){
sb.append(sym[i+1]);
}
else if(digit<=8){
sb.append(sym[i+1]);
for(int j=0;j<digit-5;j++)
sb.append(sym[i]);
}
else if(digit==9){
sb.append(sym[i]);
sb.append(sym[i+2]);
}
}
num %= scale;
scale /=10;
}
return sb.toString();
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: