📜  java 转换为罗马数字 - Java (1)

📅  最后修改于: 2023-12-03 15:01:34.669000             🧑  作者: Mango

Java 转换为罗马数字

在Java中,如果我们需要将阿拉伯数字转换为罗马数字,可以使用以下代码:

public class ArabicToRoman {

    public static String toRoman(int number) {
        int[] values = { 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 roman = new StringBuilder();
        for (int i = 0; i < values.length; i++) {
            while (number >= values[i]) {
                number -= values[i];
                roman.append(symbols[i]);
            }
        }
        return roman.toString();
    }
    
}

代码的核心部分是一个 toRoman() 函数,它接收一个整数参数并返回一个字符串,该字符串代表以罗马数字表示的相应数字。

在函数中,我们定义了两个数组,values 表示每个罗马数字的对应值,symbols 表示相应的罗马数字。

然后我们使用一个循环来遍历 values 数组,但首先需要检查该数字是否大于或等于当前的 values[i]。如果是,我们就将 values[i] 添加到结果字符串 roman 中,并从输入数字中减去 values[i]。然后我们重复这个过程,直到输入数字变成零为止。

现在让我们测试一下我们的代码:

public class Main {

    public static void main(String[] args) {
        int number = 3999;
        String roman = ArabicToRoman.toRoman(number);
        System.out.println(number + " as a Roman numeral is " + roman);
    }

}

在上面的代码中,我们使用数字 3999 来测试我们的代码。如果我们运行该代码,我们将得到以下输出:

3999 as a Roman numeral is MMMCMXCIX

因此,我们成功地将数字 3999 转换为对应的罗马数字 MMMCMXCIX。

结论

在本文中,我们已经学习了如何在Java中将阿拉伯数字转换为罗马数字,这对于程序员来说非常有用。如果您需要在项目中执行此操作,请使用以上代码片段作为起点。