1. 程式人生 > >羅馬數字轉阿拉伯數字

羅馬數字轉阿拉伯數字

    public class Main {
        public static void main(String[] args) {
            System.out.println("Hello World!");
        }
        public static int transfer(String roma){
            //建立一個符號與value對應的陣列 
            int[] map = new int[10000];
            map['I'] = 1;
            map['V'] = 5;
            map['X'] = 10;
            map['L'] = 50;
            map['C'] = 100; 
            map['D'] = 500;
            map['M'] = 1000;
           
            char array = roma.toCharArray();
            int sum = map[array[0]];
            //如果後一個符號小於前一個, 直接加上後一個的值
            //如果後一個符號大於前一個, 直接加上後一個的值減去兩倍的前一個的值
            for(int i = 0; i< array.length();i++){
                if(map[array[i]] >= map[array[i+1]]){
                    sum = sum + map[array[i+1]];
                }else{
                    sum = sum + map[array[i+1]] -2* map[array[i]];
                }
            }
            return sum;
        }
    }