import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param num int整型
* @return string字符串
*/
public String intToRoman(int num) {
int [] numbers = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
String[] symbols = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < numbers.length; i++) {
int value = numbers[i];
String str = symbols[i];
while (num >= value) {
num -= value;
stringBuilder.append(str);
}
if (num == 0) {
break;
}
}
return stringBuilder.toString();
}
}
本题知识点分析:
1.数学模拟
2.字符串拼接
本题解题思路分析:
1.优先选择数值大的数字
2.while(num>=value)持续append对应的字符串
3.如果num==0表明可以退出循环
4.最后StringBuilder转字符串即可
本题使用编程语言: Java
如果你觉得本篇文章对你有帮助的话,可以点个赞支持一下,感谢~

京公网安备 11010502036488号