ITPub博客

首页 > 应用开发 > Java > java实现一个程序,将给定的数字转换为罗马数字。

java实现一个程序,将给定的数字转换为罗马数字。

原创 Java 作者:mingtian66 时间:2024-09-19 10:46:47 0 删除 编辑

下面是一个简单的Java程序,用于将给定的整数转换为罗马数字。
RomanConverter.java

java

import java.util.HashMap;
import java.util.Map;

public class RomanConverter {
    private static final Map<Integer, String> romanMap = new HashMap<>();

    static {
        romanMap.put(1000, "M");
        romanMap.put(900, "CM");
        romanMap.put(500, "D");
        romanMap.put(400, "CD");
        romanMap.put(100, "C");
        romanMap.put(90, "XC");
        romanMap.put(50, "L");
        romanMap.put(40, "XL");
        romanMap.put(10, "X");
        romanMap.put(9, "IX");
        romanMap.put(5, "V");
        romanMap.put(4, "IV");
        romanMap.put(1, "I");
    }

    public static String intToRoman(int num) {
        StringBuilder result = new StringBuilder();

        for (Integer key : romanMap.keySet()) {
            while (num >= key) {
                result.append(romanMap.get(key));
                num -= key;
            }
        }

        return result.toString();
    }

    public static void main(String[] args) {
        int number = 1994; // 示例数字,可以修改为其他值
        String romanNumeral = intToRoman(number);
        System.out.println("数字 " + number + " 转换为罗马数字为: " + romanNumeral);
    }
}

代码说明

    罗马数字映射:使用HashMap存储整数到罗马数字的映射关系。
    intToRoman方法:接受一个整数,使用映射表逐步减少数字并构建对应的罗马数字字符串。
        通过遍历映射表的键,检查当前数字是否大于等于键值,如果是,就将相应的罗马数字添加到结果中,并减少数字。
    主程序:在main方法中定义一个示例数字,调用转换方法并打印结果。

使用说明

    将代码保存为RomanConverter.java。
    在终端中编译并运行程序:

    bash

    javac RomanConverter.java
    java RomanConverter

    你可以修改number变量的值来测试其他整数的罗马数字转换。

这个程序可以处理从1到3999之间的任何整数,符合罗马数字的标准表示。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70040412/viewspace-3028150/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-08-07

  • 博文量
    589
  • 访问量
    602900