罗马数字转换成整数
2016-04-01 12:14
375 查看
给定一个罗马数字s,( I<=s<=MMMCMXCIX)(即1到3999),将罗马数字转换成整数。
如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5。
格式:
第一行输入一个罗马数字,接下来输出对应的整数。
提示:
首先要来了解一下罗马数字表示法,基本字符有7个:I,V,X,L,C,D,M,分别表示1,5,10,50,100,500,1000。
在构成数字的时候,有下列规则:
1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:Ⅲ = 3;
2、小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数, 如:Ⅷ = 8;Ⅻ = 12;
3、小的数字,(限于Ⅰ、X 和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如:Ⅳ= 4;Ⅸ= 9;
4、正常使用时,连写的数字重复不得超过三次。
如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5。
格式:
第一行输入一个罗马数字,接下来输出对应的整数。
提示:
首先要来了解一下罗马数字表示法,基本字符有7个:I,V,X,L,C,D,M,分别表示1,5,10,50,100,500,1000。
在构成数字的时候,有下列规则:
1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:Ⅲ = 3;
2、小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数, 如:Ⅷ = 8;Ⅻ = 12;
3、小的数字,(限于Ⅰ、X 和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如:Ⅳ= 4;Ⅸ= 9;
4、正常使用时,连写的数字重复不得超过三次。
import java.util.*; public class Main { public static void main(String[] args) { int sum=0; int a; int b; Scanner sc = new Scanner(System.in); List<Integer> list = new LinkedList<>(); String s=sc.nextLine(); for(int i=0;i<s.length();i++) { char str=s.charAt(i); switch (str) { case 'M': list.add(1000); break; case 'D': list.add(500); break; case 'C': list.add(100); break; case 'L': list.add(50); break; case 'X': list.add(10); break; case 'V': list.add(5); break; case 'I': list.add((1)); break; default: break; } } Iterator t=list.iterator(); Iterator t1=list.iterator(); t1.next(); while(t.hasNext()){ a= (int) t.next(); try{ b= (int) t1.next();} catch (NoSuchElementException e){ b=0; } if(a<b) { a = b - a; t.next(); try { t1.next(); }catch (NoSuchElementException e){ } } sum+=a; } System.out.println(sum); } }
相关文章推荐
- nginx+php测试时显示 502 bad gateway的解决方法
- maven中解决javax.servlet.jsp.PageContext cannot be resolved to a type
- 整数转换成罗马数字
- 线性表的顺序存储的实现
- 创业中的眼界——北漂18年(15)
- vc 判断哪个按键 被按下 消息 按键 状态
- Android Studio check update失败
- listview或者gridview 实现单选效果
- git 命令
- VC++中,如何定义callback函数和它的触发事件?
- Wireshark-DNS数据报分析
- Xamarin 对 Visual Studio 用户免费,Xamarin SDK将开源
- Xamarin 对 Visual Studio 用户免费,Xamarin SDK将开源
- 10分钟-jQuery-基础选择器
- 最后一个单词的长度
- WPF使用Log4net.dll库的demo(转载加个人观点)
- 首尾字母是否相同
- 提示"此证书的签发者无效",原因系统认证证书
- 解决 PC 端中网页文本一键复制的小插件
- set类