国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

羅馬數字和十進制數轉換(java版本)

2019-11-06 06:29:21
字體:
來源:轉載
供稿:網友

七個羅馬字母:I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000)

規則:

(1)小的數字放右邊表示相加,且V、 L、 D只能用一次;

(2)小的(只限于I、X、C)放左邊表示減去小的,且只能用一個;

(3)連寫不能超過3次;

(4)在一個數上劃橫線,表示這個數增值1000倍。

1.將十進制數(0-3999)轉換成羅馬數字

public class Solution{    public static void main(String[] args){        System.out.PRintln(intToRoman(2344));    }    private static String intToRoman(int num) {        String[][] c = new String[][]{            {"","I","II","III","IV","V","VI","VII","VIII","IX"},            {"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},            {"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},            {"","M","MM","MMM"}        };        String roman = "";        roman += "" + (c[3][num / 1000 % 10]);        roman += "" + (c[2][num / 100 % 10]);        roman += "" + (c[1][num / 10 % 10]);        roman += "" + (c[0][num % 10]);        return roman;    }}2.將羅馬數字轉換成十進制數(0-3999)

public class Solution {      public int romanToInt(String s) {        Map<Character, Integer> map = new HashMap<Character, Integer>();        map.put('I', 1);        map.put('V', 5);        map.put('X', 10);        map.put('L', 50);        map.put('C', 100);        map.put('D', 500);        map.put('M', 1000);        int length = s.length();        int result = map.get(s.charAt(length - 1));        for(int i = length - 1; i > 0; i--){            if(map.get(s.charAt(i)) > map.get(s.charAt(i-1))){                result -= map.get(s.charAt(i-1));            }else{                result += map.get(s.charAt(i-1));            }        }        return result;    }}

羅馬數字的記法:

I,II,III表示手指的根數(1,2,3),一只手為V(5),兩只手為X(兩個V,即10),一百(一個世紀Century)為C,C的一半為L(即50),一千為M(Mille拉丁文里的一千,和Mile很像),D為500單獨記。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柳河县| 岳普湖县| 万山特区| 汉川市| 洛川县| 武平县| 临潭县| 尉氏县| 冕宁县| 广昌县| 云阳县| 大邑县| 兴隆县| 高雄市| 北票市| 丰宁| 东山县| 土默特右旗| 灵石县| 弋阳县| 柏乡县| 缙云县| 台山市| 丰顺县| 罗城| 新平| 柳河县| 阿荣旗| 海林市| 志丹县| 孝感市| 文山县| 左贡县| 科技| 保德县| 丰宁| 岳西县| 繁峙县| 唐山市| 茌平县| 三穗县|