Java将罗马数转换成相应的数值进行计算
作者:互联网
根据罗马数对应的数值进行相应的计算。
算法分析:
1、将输入的罗马数转换成字符数组
2、使用map函数标记罗马数相应的数值
package test;
import java.util.HashMap;
import java.util.Map;
public class 罗马数 {
public static void main(String[] args) {
String s="IXVII";
int sum=0,x;
Map<Character, Integer> m=new HashMap<Character, Integer>();
m.put('I', 1);
m.put('V', 5);
m.put('X', 10);
m.put('L', 50);
m.put('C', 100);
m.put('D', 500);
m.put('M', 1000);
char c[]=s.toCharArray();//将字符串转换成字符数组
for(int i=0;i<c.length;i++) {
x=m.get(c[i]);
if(i<c.length-1&&x<m.get(c[i+1])) {
sum=sum-x;
}else {
sum=sum+x;
}
}
System.out.println(sum);
}
}
标签:转换成,Java,HashMap,int,sum,罗马,数值,put 来源: https://blog.csdn.net/woreaijava/article/details/122387834