亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

利用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

西安市| 陵水| 威宁| 平利县| 泽州县| 楚雄市| 安阳县| 沂南县| 都兰县| 平南县| 固阳县| 新乡市| 屏山县| 阜平县| 新田县| 姚安县| 敦煌市| 阳城县| 扶余县| 塔城市| 鹤岗市| 龙岩市| 阿拉尔市| 治多县| 绥中县| 大埔县| 吉林市| 铁岭县| 额尔古纳市| 康马县| 平利县| 黑山县| 民和| 玉田县| 孝感市| 凤台县| 佳木斯市| 璧山县| 岳阳市| 和田县| 巫山县|