如何找到与整数等效的罗马数字

如何找到与整数等效的罗马数字,第1张

如何找到与整数等效的罗马数字

这是许多语言(包括Java )的链接。这是相关的摘录

public class RN {    enum Numeral {        I(1), IV(4), V(5), IX(9), X(10), XL(40), L(50), XC(90), C(100), CD(400), D(500), CM(900), M(1000);        int weight;        Numeral(int weight) { this.weight = weight;        }    };    public static String roman(long n) {        if( n <= 0) { throw new IllegalArgumentException();        }        StringBuilder buf = new StringBuilder();        final Numeral[] values = Numeral.values();        for (int i = values.length - 1; i >= 0; i--) { while (n >= values[i].weight) {     buf.append(values[i]);     n -= values[i].weight; }        }        return buf.toString();    }    public static void test(long n) {        System.out.println(n + " = " + roman(n));    }    public static void main(String[] args) {        test(1999);        test(25);        test(944);        test(0);    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5428185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存