原题:

13. Roman to Integer

Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.

罗马数字个位到千位表示方法:

'I','V','X','L','C','D','M'  分别为:1,5,10,50,100,500,1000

对于一个罗马数的字符串,我们只需要用字符串的charAt(int index)方法,对它的每一个数进行判断,总和相加,要注意的是,每逢IV,IX。XL,XC,CD,CM这些数不能直接读取,要判断他们的前一位是否为对应得字符,处理后相加像,这里给出判断方法:

if (i>0&&s.charAt(i-1)=='I') {

result=result+3;
}
       else {
       result=result+5;

}

比较的是IV这个罗马数。

整个代码如下:

 public int romanToInt(String s) {
      int result=0;
      
      for (int i = 0; i < s.length(); i++) {
char tail=s.charAt(i);
switch (tail) {
case 'I':result=result+1;
break;
            case 'V':if (i>0&&s.charAt(i-1)=='I') {
result=result+3;
}
                     else {
                    result=result+5;
}
            break;
            case 'X':
            if (i>0&&s.charAt(i-1)=='I') {
result=result+8;
}
                 else {
                result=result+10;
}
            break;
            case 'L':
            if (i>0&&s.charAt(i-1)=='X') {
result=result+30;
}
                 else {
                result=result+50;
}
            break;
            case 'C':
            if (i>0&&s.charAt(i-1)=='X') {
result=result+80;
}
                 else {
                result=result+100;
}
            break;
            case 'D':
            if (i>0&&s.charAt(i-1)=='C') {
result=result+300;
}
                 else {
                result=result+500;
}
            break;
            case 'M':
            if (i>0&&s.charAt(i-1)=='C') {
result=result+800;
}
                 else {
                result=result+1000;
}
            break;
default:
break;

}
}
      return result;

    }


最后运行结果:

LeetCode提交结果展示:


JAVA Roman to Integer 罗马数转换为int型方法相关推荐

  1. java 36 进制_数学-在Java中如何将十进制数转换为以36为底的数字?

    数学-在Java中如何将十进制数转换为以36为底的数字? 如果我有一个十进制数字,如何在Java中将其转换为以36为基数? slavoj asked 2020-07-13T23:15:07Z 10个解 ...

  2. 在Java里怎将字节数转换为我们可以读懂的格式?

    问题:在Java里怎将字节数转换为我们可以读懂的格式? 在Java里怎将字节数转换为我们可以读懂的格式 像1024应该变成"1 Kb",而1024*1024应该变成"1 ...

  3. atoi函数:c\c++中把字符串整数转换为int型整数

    atoi函数:c\c++中把字符串整数转换为int型整数       atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中.atoi( ) ...

  4. stoi() 函数----将一个string类型转换为int型

    需要的头文件: #include<iostream> 需要的其他东西: using namespace std; 函数的作用: 将一个字符串string类型转换为int 型 用法格式: s ...

  5. C# ASP.NET 转换为int型的方法 很实用

    很多新手在搞c#或者.net开发的时候总会碰到一些小问题,如何知道字符能不能为int型  在这里我写了一个小的函数仅供大家参考: /// <summary>/// 判断是不是int型/// ...

  6. 在c语言中如何将char型变量转换为int型变量,详解C语言中的char数据类型及其与int类型的转换...

    C语言中的char变量 char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed.虽然char在标准中是unsig ...

  7. leetcode 12 ,13 Integer to Roman amp;amp;Roman to Integer 罗马与阿拉伯数组转换

    12 Integer to Roman 13 Roman to Integer 有可能不注意的结果: class Solution {public:/*1.相同的数字连写,所表示的数等于这些数字相加得 ...

  8. java.lang.math.abs_java.lang.StrictMath.abs(int a)方法实例

    全屏 java.lang.StrictMath.abs(int a)方法返回一个int值的绝对值.如果参数不是负数,则返回该参数.如果参数为负数,则返回该参数的负数(负负得为正). 声明 以下是jav ...

  9. long型转换为int型

    一.强制类型转换 Long long = 300000;  int i= (int)long; 二.调用intValue()方法  int i= new Long(30000).intValue(); ...

最新文章

  1. jQuery Pagination分页插件的使用
  2. 利用Docker构建开发环境
  3. 电脑罗盘时钟代码_苹果电脑怎么设置数字时钟屏保 Word Clock for Mac安装教程
  4. Python之删除字符串中不需要的字符
  5. 一本通 1064:奥运奖牌计数--AC
  6. (85)FPGA约束有哪些-面试必问(九)(第17天)
  7. 单文件图片管理php,php封装的单文件(图片)上传类完整实例
  8. android ImageSwitcher案例
  9. numpy构建卷积网络
  10. 战投之王:蔡崇信、刘炽平和刘德的精密战争
  11. 【阅读百本英文原版书】—为提升英语运用能力—已看完77本
  12. 使用Python以UCI心脏病数据集为例,进行数据简单分析
  13. 我的飞桨学习赛:英雄联盟大师预测
  14. 视觉打标软件 在线视觉打标系统 1.金橙子控制板卡 2.自主研发的定位系统
  15. 8月顺利拿到OPPO公司Android架构师offer,一面+部长面
  16. vue全套教程(实操)
  17. 问题 C: 网格涂色
  18. QQ浏览器性能提升之路-windows性能分析工具篇
  19. 智慧书吧经典选集《一个人读书》
  20. 空间的基,自然基,标准正交基

热门文章

  1. 获取oracle 表字段描述,几种获取oracle用户表字段信息的方法
  2. processing python模式添加图片_processing学习整理---Image
  3. 【小白学习C++ 教程】十三、C++命名空间namespace
  4. 二十三、 爬取mzsock网站写真社区
  5. 八十三、Eureka实现相互注册
  6. 如何在pycharm添加扩张工具
  7. 一周要回审9000万条视频,内容审核师能被AI拯救吗?
  8. 最优传输理论和生成模型的几何观点
  9. 小马智行Pony.ai 2020校招正式开启
  10. ProjectEuler500 【组合数学】【数论】