日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA Roman to Integer 罗马数转换为int型方法

發布時間:2024/9/30 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA Roman to Integer 罗马数转换为int型方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原題:

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型方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。