请写一段整数转罗马数字的Java代码
时间: 2023-12-03 19:04:53 浏览: 28
以下是Java代码:
```
public String intToRoman(int num) {
String[] romanSymbols = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
int[] integers = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
StringBuilder sb = new StringBuilder();
int i = 0;
while (num > 0) {
if (num - integers[i] >= 0) {
sb.append(romanSymbols[i]);
num -= integers[i];
} else {
i++;
}
}
return sb.toString();
}
```
这段代码可以将一个整数转换为罗马数字,并将其以字符串形式返回。
相关问题
给出一个整数转罗马数字的javascript算法
以下是一个简单的整数转罗马数字的JavaScript算法:
```
function intToRoman(num) {
const values = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
const romans = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
let result = '';
for (let i = 0; i < values.length; i++) {
while (values[i] <= num) {
result += romans[i];
num -= values[i];
}
}
return result;
}
console.log(intToRoman(1234)); // MCCXXXIV
```
这个算法将整数num与一组值values(从高到低排列)进行比较,然后使用对应的罗马数字romans组成结果result。使用循环来进行遍历和减去相应的值,直到num为0为止。
给出一个整数转罗马数字的JavaScript算法
好的,以下是一个简单的JavaScript算法,可以将整数转换为罗马数字:
```javascript
function intToRoman(number) {
const romanNumeralMap = {
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
}
let roman = '';
for (let i in romanNumeralMap) {
while (number >= romanNumeralMap[i]) {
roman += i;
number -= romanNumeralMap[i];
}
}
return roman;
}
console.log(intToRoman(3999)); // 输出: "MMMCMXCIX"
```
该算法使用了一个Map对象将罗马数字与对应的整数值进行映射。接着,通过一系列的循环和条件语句,将整数转换为罗马数字。当然,这只是一个简单的算法,可能并不适用于所有的情况。