首页 > Java > java教程 > 正文

JAVA程序将罗马数字转换为整数数字

WBOY
发布: 2023-08-25 11:41:20
转载
1496人浏览过

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 中将罗马数字转换为整数。

立即学习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 - 在另一个用户定义的方法中,通过使用给定字符串的索引值,我们计算罗马数字值。

Perl学习手札 chm版
Perl学习手札 chm版

Perl学习手札是台湾perl高手写的一篇文章,特打包为chm版,方便大家阅读。 关于本书 1. 关于Perl 1.1 Perl的历史 1.2 Perl的概念 1.3 特色 1.4 使用Perl的环境 1.5 开始使用 Perl 1.6 你的第一个Perl程序 2. 标量变量(Scalar) 2.1 关于标量 2.1.1 数值 2.1.2 字符串 2.1.3 数字与字符串转换 2.2 使用你自己的变量 2.3 赋值 2.3.1 直接设定 2.3.2 还可以这样 2.4 运算 2.5 变量的输出/输入 2.

Perl学习手札 chm版 0
查看详情 Perl学习手札 chm版

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中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号