📜  Java int to roman - Java (1)

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

Java int to Roman

Java int to Roman 是一个将整数转换为罗马数字的Java程序。这个程序是非常有用的,因为在某些情况下,需要将整数转换为罗马数字。例如,在编写古罗马数字识别程序时,Java int to Roman程序将非常有用。

如何使用Java int to Roman

要使用Java int to Roman程序,只需简单地实例化一个IntToRoman对象并调用toRoman()方法即可将整数转换为罗马数字。以下是一个示例:

IntToRoman itr = new IntToRoman();
String romanNumeral = itr.toRoman(1984);
System.out.println("1984 in Roman Numerals = " + romanNumeral);
类方法

以下是Java int to Roman程序中可用的几种方法。

toRoman

此方法将整数转换为罗马数字。

public String toRoman(int number)
initialize

此方法将空字符串与下划线和罗马字符的映射进行初始化。它只需要在IntToRoman对象实例化时调用一次。

private void initialize()
getRomanNumeral

此方法获取给定数字的罗马字符。

private String getRomanNumeral(int number, int position)
程序代码

以下是Java int to Roman程序的完整代码片段:

public class IntToRoman {
    private static final String[] romanNumerals = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
    private static final int[] decimalValues = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };

    private Map<String, Integer> romanNumeralsMap;
    private final String emptyString = "";

    public IntToRoman() {
        initialize();
    }

    private void initialize() {
        romanNumeralsMap = new HashMap<>();

        for (int i = 0; i < romanNumerals.length; i++) {
            romanNumeralsMap.put(romanNumerals[i], decimalValues[i]);
        }
    }

    private String getRomanNumeral(int number, int position) {
        int division = number / decimalValues[position];
        StringBuilder result = new StringBuilder();

        for (int i = 0; i < division; i++) {
            result.append(romanNumerals[position]);
        }

        return result.toString();
    }

    public String toRoman(int number) {
        StringBuilder result = new StringBuilder();

        for (int i = 0; i < romanNumerals.length; i++) {
            while (number >= decimalValues[i]) {
                result.append(getRomanNumeral(number, i));
                number -= decimalValues[i];
            }
        }

        return result.toString();
    }
}
结论

Java int to Roman程序是一个非常实用的程序,可以将整数转换为罗马数字。如果您需要编写古罗马数字识别程序或类似的程序,Java int to Roman程序将非常有用。