欢迎访问宙启技术站
智能推送

实现Java函数,用于将数字转换为罗马数字

发布时间:2023-07-06 03:35:29

以下是一个实现Java函数将数字转换为罗马数字的示例代码:

public class ConvertToRoman {
    public static String intToRoman(int num) {
        StringBuilder romanNum = new StringBuilder();
        int[] numbers = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
        String[] romanSymbols = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};

        for (int i = 0; i < numbers.length; i++) {
            while (num >= numbers[i]) {
                romanNum.append(romanSymbols[i]);
                num -= numbers[i];
            }
        }

        return romanNum.toString();
    }

    public static void main(String[] args) {
        int num = 3542;
        String romanNum = intToRoman(num);
        System.out.println(num + " 转换成罗马数字为:" + romanNum);
    }
}

解释:

- intToRoman 函数接受一个整数参数 num,并返回对应的罗马数字。

- numbers 数组存储了罗马数字的数值,从大到小排列。

- romanSymbols 数组存储了与 numbers 对应的罗马数字符号。

- 使用循环遍历 numbers 数组,如果 num 大于等于当前数字,则将对应的罗马数字符号添加到 romanNum 中,并从 num 中减去当前数字。

- 最后返回 romanNum 的字符串表示形式。

- 在 main 函数中可以调用 intToRoman 函数来测试转换功能,并输出结果。