栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java将整数转换为罗马数字

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java将整数转换为罗马数字

使用Java TreeMap和递归的紧凑实现:

import java.util.TreeMap;public class RomanNumber {    private final static TreeMap<Integer, String> map = new TreeMap<Integer, String>();    static {        map.put(1000, "M");        map.put(900, "CM");        map.put(500, "D");        map.put(400, "CD");        map.put(100, "C");        map.put(90, "XC");        map.put(50, "L");        map.put(40, "XL");        map.put(10, "X");        map.put(9, "IX");        map.put(5, "V");        map.put(4, "IV");        map.put(1, "I");    }    public final static String toRoman(int number) {        int l =  map.floorKey(number);        if ( number == l ) { return map.get(number);        }        return map.get(l) + toRoman(number-l);    }}

测试:

public void testRomanConversion() {    for (int i = 1; i<= 100; i++) {        System.out.println(i+"t =t "+RomanNumber.toRoman(i));    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441910.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号