根据罗马数对应的数值进行相应的计算。
算法分析:
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将罗马数转换为字符数组,并利用映射标记数值进行计算,涉及罗马数字与整数的转换算法。
498

被折叠的 条评论
为什么被折叠?



