91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用Java怎么對羅馬數字與阿拉伯數字進行轉換

發布時間:2021-02-23 15:03:47 來源:億速云 閱讀:311 作者:戴恩恩 欄目:編程語言

這篇文章主要介紹了利用Java怎么對羅馬數字與阿拉伯數字進行轉換,此處通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考價值,需要的朋友可以參考下:

Java可以用來干什么

Java主要應用于:1. web開發;2. Android開發;3. 客戶端開發;4. 網頁開發;5. 企業級應用開發;6. Java大數據開發;7.游戲開發等。

羅馬數字的表示主要依賴以下幾個基本符號:

    I  1
    V  5
    X  10
    L  50
    C  100
    D  500
    M  1000

這里,我們只介紹一下1000以內的數字的表示法。

單個符號重復多少次,就表示多少倍。最多重復3次。比如:CCC表示300  XX表示20,但150并不用LLL表示,這個規則僅適用于I X C M。

如果相鄰級別的大單位在右,小單位在左,表示大單位中扣除小單位。比如:IX表示9  IV表示4  XL表示40 更多的示例參見下表,你找到規律了嗎?

I,1
II,2
III,3
IV,4
V,5
VI,6
VII,7
VIII,8
IX,9

X,10
XI,11
XII,12
XIII,13
XIV,14
XV,15
XVI,16
XVII,17
XVIII,18
XIX,19
XX,20
XXI,21
XXII,22
XXIX,29
XXX,30
XXXIV,34
XXXV,35
XXXIX,39
XL,40
L,50
LI,51
LV,55
LX,60
LXV,65
LXXX,80
XC,90
XCIII,93
XCV,95
XCVIII,98
XCIX,99

C,100
CC,200
CCC,300
CD,400
D,500
DC,600
DCC,700
DCCC,800
CM,900
CMXCIX,999

本題目的要求是:請編寫程序,由用戶輸入若干個羅馬數字串,程序輸出對應的十進制表示。

輸入格式是:第一行是整數n,表示接下來有n個羅馬數字(n<100)。以后每行一個羅馬數字。羅馬數字大小不超過999。

要求程序輸出n行,就是羅馬數字對應的十進制數據。

例如,用戶輸入:

3
LXXX
XCIII
DCCII

則程序應該輸出:

80
93
702

import java.util.Scanner;
/**
 * 請編寫程序,由用戶輸入若干個羅馬數字串,程序輸出對應的十進制表示。
 *
 * 輸入格式是:第一行是整數n,表示接下來有n個羅馬數字(n<100)。以后每行一個羅馬數字。羅馬數字大小不超過999。
 *
 * 要求程序輸出n行,就是羅馬數字對應的十進制數據。
 *
 * 例如,用戶輸入: 3 LXXX XCIII DCCII
 *
 * 則程序應該輸出: 80 93 702
 *
 * @author Administrator
 *
 */
public class RomeToArabic {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("億速云測試結果:");
    Scanner mScanner = new Scanner(System.in);
    System.out.println(r2a(mScanner.nextLine()));
    System.out.println(a2r(mScanner.nextInt()));
  }
  /**
   * 把羅馬數字轉換為阿拉伯數字
   *
   * @param m
   * @return
   */
  public static int r2a(String m) {
    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 = m.toCharArray();
    int sum = graph[num[0]];
    for (int i = 0; i < num.length - 1; i++) {
      if (graph[num[i]] >= graph[num[i + 1]]) {
        sum += graph[num[i + 1]];
      } else {
        sum = sum + graph[num[i + 1]] - 2 * graph[num[i]];
      }
    }
    return sum;
  }
  /**
   * 把阿拉伯數字轉換為羅馬數字
   *
   * @param number
   * @return
   */
  public static String a2r(int number) {
    String rNumber = "";
    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" };
    if (number < 1 || number > 3999) {
      rNumber = "-1";
    } else {
      for (int i = 0; i < aArray.length; i++) {
        while (number >= aArray[i]) {
          rNumber += rArray[i];
          number -= aArray[i];
        }
      }
    }
    return rNumber;
  }
}

運行結果:

利用Java怎么對羅馬數字與阿拉伯數字進行轉換

到此這篇關于利用Java怎么對羅馬數字與阿拉伯數字進行轉換的文章就介紹到這了,更多相關利用Java怎么對羅馬數字與阿拉伯數字進行轉換的內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣城市| 北辰区| 老河口市| 潍坊市| 北海市| 宁南县| 长沙县| 布尔津县| 惠水县| 清流县| 安康市| 麻城市| 奈曼旗| 商城县| 丘北县| 曲周县| 大新县| 方山县| 广昌县| 随州市| 涪陵区| 五家渠市| 佳木斯市| 枣阳市| 平邑县| 安阳市| 长沙县| 文成县| 阜城县| 西和县| 三台县| 宁都县| 岳普湖县| 当雄县| 浦城县| 响水县| 正定县| 比如县| 漳浦县| 五指山市| 新田县|