罗马数字---int转换
来源:互联网 发布:5元已备案域名批发购买 编辑:程序博客网 时间:2024/05/06 02:46
罗马数字:
I: 1; V:5; X:10 L:50 C:100 D:500 M:1000
4:IV 9:IX
40: XL 90:XC
400:CD 900:CM
1.int 转为Roman
public class Solution { private int[] val = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 }; private String[] syb = new String[] { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" }; public String intToRoman(int num) { StringBuilder roman = new StringBuilder(); int i = 0, k; while (num > 0) { k = num / val[i]; while (k-- > 0) { roman.append(syb[i]); num -= val[i]; } i++; } return roman.toString(); }}
2.Roman-------int
public class Solution { public static int romanToInt(String s) { char [] c={'I','V','X','L','C','D','M'}; int [] a={1,5,10,50,100,500,1000}; Map<Character,Integer> map=new HashMap<Character,Integer>(); for(int i=0;i<c.length;i++){ map.put(c[i],a[i]); } //int result=map.get(s.charAt(0)); int length = s.length(); int result = map.get(s.charAt(length - 1)); for (int i = length - 2; i >= 0; i--) { if (map.get(s.charAt(i + 1)) <= map.get(s.charAt(i))) { result += map.get(s.charAt(i)); } else { result -= map.get(s.charAt(i)); } } return result; } }
0 0
- 罗马数字转换为int
- 罗马数字转换为int
- 罗马数字---int转换
- 罗马数字转换
- 罗马数字转换
- 数字转换 转成罗马数字
- 罗马数字转换为整数
- 数字转换为罗马数字
- 罗马数字转换程序
- 整数转换成罗马数字
- 罗马数字转换成整数
- 整数转换成罗马数字
- 罗马数字转换成整数
- 罗马数字到整数转换
- 罗马数字转换成阿拉伯数字
- 罗马数字转换为十进制数字
- 整数转换成罗马数字
- 罗马数字转换成整数
- java内存机制
- RecyclerView的使用
- android 输入框EditText禁止输入Emoji表情符
- JavaScript学习笔记之一
- 磁盘满了导致OpenStack虚拟机异常
- 罗马数字---int转换
- 安卓视频监控实现——编译
- 值得推荐的C/C++框架和库 (真的很强大)
- UITableView的性能优化整理
- js 获取后台model返回的值
- 封装的原生ajax
- 伪静态及图片防盗链
- Android 系统自带输入法的表情显示 -项目总结
- Freemarker教程