Java学习-3

D876887913 / 2023-08-02 / 原文

今天做了一个Java罗马数字转实际数字的题目,学习到了map的基本用法,以及调用时需要注意的一些事情。同时期间也学习了println的输出方法。

class Solution {
    public int romanToInt(String s) {
        Map<String,Integer>map=new HashMap<>();
        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 sum=0;
        int preNum=map.get(s.substring(0,1));
        for(int i=1;i<s.length();i++){
            // System.out.println(s.substring(i,i+1));
            int num=map.get(s.substring(i,i+1));
            if(preNum<num){
                sum-=preNum;                
            }
            else{
                sum+=preNum;
            }
            preNum=num;
        }
        sum+=preNum;
        return sum;
    }
}