首頁 >Java >java教程 >JAVA程式將羅馬數字轉換為整數數字

JAVA程式將羅馬數字轉換為整數數字

WBOY
WBOY轉載
2023-08-25 11:41:20929瀏覽

JAVA程式將羅馬數字轉換為整數數字

羅馬數字 - 基於古羅馬系統,使用符號來表示數字。這些數字稱為羅馬數字。符號為 I、V、X、L、C、D 和 M,分別代表 1、5、10、50、100、500 和 1,000。

整數 - 整數就是由正值、負值和零值組成的整數。分數不是整數。

這裡我們根據整數值設定符號值。每當輸入羅馬數字作為輸入時,我們會將其劃分為單位,然後計算適當的羅馬數字。

I - 1
II – 2
III – 3
IV – 4
V – 5
VI – 6
.
.
.
X – 10
XI – 11
.
.
XV - 15

在本文中,我們將了解如何在 Java 中將羅馬數字轉換為整數。

向您展示一些實例 -

實例1

Input Roman number is XIV.
Converting it to Integer = 14.

實例2

Input Roman number is CCXXXIV.
Converting it to Integer = 234.

實例3

Input Roman number is MCCXXXI.
Converting it to Integer = 1231.

演算法

Step-1 - 透過靜態輸入或使用者輸入以字串形式取得輸入羅馬數字。

Step-2 - 在一個使用者定義的方法中,我們聲明了一些條件,其中存在具有適當整數值的羅馬數字。

Step-3 - 在另一個使用者定義的方法中,透過使用給定字串的索引值,我們計算羅馬數字值。

Step-4 - 取得整數後,我們將其列印為輸出。

多種方法

我們透過不同的方式提供了解決方案。

  • 透過具有靜態輸入值的使用者定義方法。

  • 透過使用者定義的方法和使用者輸入值。

讓我們一一看看該程式及其輸出。

方法 1:使用具有靜態輸入值的使用者定義方法

在這個方法中,我們透過靜態輸入法宣告一個羅馬輸入數字,並將該數字作為參數傳遞到使用者定義的方法中,然後在方法內部使用演算法將羅馬數字轉換為整數。

範例

import java.util.*;
import java.io.*;
import java.lang.Math;
public class Main {
   public static void main(String args[]) {
      Main obj = new Main();
      String inputRoman= "LXVII";
      System.out.println("The Integer value of given Roman number is: "+obj.romanToInt(inputRoman));
   } 
   int NumValue(char rom) {
      if (rom == 'I')
         return 1;
      if (rom == 'V')
         return 5;
      if (rom == 'X')
         return 10;
      if (rom == 'L')
         return 50;
      if (rom == 'C')
         return 100;
      if (rom == 'D')
         return 500;
      if (rom == 'M')
         return 1000;
      return -1;
   }
   int romanToInt(String str) {
      int sum = 0;
      for (int i=0; i<str.length(); i++) {
         int s1 = NumValue(str.charAt(i));
         if (i+1 <str.length()) {
           int s2 = NumValue(str.charAt(i+1));
           if (s1 >= s2) {
              sum = sum + s1;
           }
           else{
              sum = sum - s1;
           }
        }
        else {
           sum = sum + s1;
        } 
     }  
     return sum;
   }
} 

輸出

The Integer value of given Roman number is: 67

方法 2:使用使用者輸入值

在這種方法中,我們透過使用者輸入方法宣告一個羅馬輸入數字,並將該數字作為參數傳遞到使用者定義的方法中,然後在方法內部使用演算法將羅馬數字轉換為整數。 p>

範例

import java.util.*;
import java.io.*;
import java.lang.Math;
public class Main {
   public static void main(String args[]) {
      Main obj = new Main();
      Scanner sc = new Scanner(System.in);
      System.out.print("Enter a Roman Number in capital letters: ");
      String inputRoman= sc.nextLine();
      System.out.println("The Integer value of given Roman number is:"+obj.romanToInt(inputRoman));
   }
   int NumValue(char rom){
      if (rom == 'I')
         return 1;
      if (rom == 'V')
         return 5;
      if (rom == 'X')
         return 10;
      if (rom == 'L')
         return 50;
      if (rom == 'C')
         return 100;
      if (rom == 'D')
         return 500;
      if (rom == 'M')
         return 1000;
      return -1;
   } 
   int romanToInt(String str) {
      int sum = 0;
      for (int i=0; i<str.length(); i++) {
         int s1 = NumValue(str.charAt(i));
         if (i+1 <str.length()) {
            int s2 = NumValue(str.charAt(i+1));
            if (s1 >= s2) {
               sum = sum + s1;
            }
            else {
               sum = sum - s1;
            } 
         }
         else {
            sum = sum + s1;
         } 
      }
      return sum;
   } 
} 

輸出

Enter a Roman Number in capital letters: V
The Integer value of given Roman number is: 5

在本文中,我們探討如何使用不同的方法在 Java 中將羅馬數字轉換為整數。

以上是JAVA程式將羅馬數字轉換為整數數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除