package Linkedin;public class RomeToArabic {public static void main(String[] args) {String s = "IV";System.out.println(r2a(s));System.out.println(a2r(34));}//罗马数字转阿拉伯数字:// 从前往后遍历罗马数字,如果某个数比前一个数小,则把该数加入到结果中;// 反之,则在结果中两次减去前一个数并加上当前这个数;// I、V、X、   L、   C、     D、     M// 1.5、10、50、100、500、1000private static int r2a(String in){int graph[] = new int[400];graph['I'] = 1;graph['V']=5;graph['X']=10;graph['L']=50;graph['C']=100;graph['D']=500;graph['M']=1000;char[] num = in.toCharArray();// 遍历这个数,用sum来总计和int sum = graph[num[0]];for(int i=0; i<num.length-1; i++){// 如果,i比i+1大的话,直接相加if(graph[num[i]] >= graph[num[i+1]]){sum += graph[num[i+1]];}// 如果i比i+1小的话,则将总和sum减去i这个地方数的两倍,同时加上i+1// 就相当于后边的数比左边的数大,则用右边的数减左边的数else{sum = sum + graph[num[i+1]] - 2*graph[num[i]];}}return sum;}// 阿拉伯数字转罗马数字:// 把所有小数字在前的组合也作为基本数字,再做一个对应的数值表就可以解决问题了。// I、V、X、   L、   C、     D、     M// 1.5、10、50、100、500、1000private static String a2r(int aNumber){if(aNumber < 1 || aNumber > 3999){return "-1";}int[] aArray = {1000,900,500,400,100,90,50,40,10,9,5,4,1};String[] rArray = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};String rNumber = "";for(int i=0; i<aArray.length; i++){while(aNumber >= aArray[i]){rNumber += rArray[i];aNumber -= aArray[i];}}return rNumber;}}

经典题:罗马数字和阿拉伯数字的相互转换相关推荐

  1. 罗马数字与阿拉伯数字的相互转换

      最近遇到一道非常有趣的题目,题目大意如下:有一个富翁在银河系里做生意,而银河系使用的是罗马数字,所以他需要一个精明能干的助手,帮助他完成罗马数字与阿拉伯数字的相互转换,题目在这个背景下衍生出交易场 ...

  2. java输出罗马数字_Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例...

    本文实例讲述了Java实现的求解经典罗马数字和阿拉伯数字相互转换问题.分享给大家供大家参考,具体如下: 古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来 ...

  3. 【数据库原理及应用】经典题库附答案(14章全)——第十四章:分布式数据库系统

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  4. 【数据库原理及应用】经典题库附答案(14章全)——第十三章:面向对象程数据库系统

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  5. 【数据库原理及应用】经典题库附答案(14章全)——第十二章:数据库技术新发展

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  6. 【数据库原理及应用】经典题库附答案(14章全)——第十章:数据库完整性

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  7. 【数据库原理及应用】经典题库附答案(14章全)——第九章:数据库安全性

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  8. 【数据库原理及应用】经典题库附答案(14章全)——第八章:数据库并发控制

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  9. 【数据库原理及应用】经典题库附答案(14章全)——第七章:数据库恢复技术

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

最新文章

  1. django model 条件过滤 queryset.filter(**condtions) 用法
  2. Java Garbage Collection Basics--转载
  3. JQuery 绑定select标签的onchange事件
  4. Android App性能自动化评测方法
  5. 陈睿:B站是中国最适合实现元宇宙概念的公司之一
  6. CentOS 7下安装GUI图形界面
  7. 【UVA10652】Board Wrapping(凸包+坐标旋转+多边形面积)
  8. 绿联网卡转接mac设置_苹果中文系统USB外置网卡驱动安装方法
  9. 基于讯飞语音API应用开发之——离线词典构建
  10. 文明与征服阵容搭配,文明与征服阵容推荐
  11. 缓存文件可以放在哪里?它们各自的特点是什么?
  12. 正则表达式之小工具系列
  13. Linux 下如何添加一个普通用户,并给予用户root权限
  14. @Transactional 详解 示例
  15. MathType 6.9 安装提示关闭软件再试一次
  16. Git常用操作速查,没有人比我更简单!!
  17. 智能家居app开发十大核心功能
  18. 高等数学 极限与连续 知识技巧思维导图 [21考研上岸之旅]
  19. ubuntu下ecm驱动_Linux 下使用USB 网络
  20. Quicker:Windows 办公效率神器 | 初学者必备(一)

热门文章

  1. java ssl protocol,java – 为HTTPS连接设置https.protocols系统属性的问题
  2. 有什么好用的OFD阅读器?这两种阅读工具很好用
  3. python+playwright 学习-6.截图使用
  4. 大衍物联网--封装指令
  5. 33复杂美简介?2021更新版
  6. 小程序轮播图实时更新
  7. Cesium 获取当前视图的中心经纬度
  8. Systemd日志管理:使用Journalctl查看和处理系统日志
  9. 线性回归一些基本术语
  10. 书上得来终觉浅,绝知此事要躬行-以太坊平台实战篇