Java 整数转罗马数字17 Mar 2025 | 5 分钟阅读 这是一个经常在顶级 IT 公司(如 Google、Amazon、TCS 和 Accenture 等)的面试中出现的问题。通过解决这个问题,面试官想考察面试者的逻辑能力、批判性思维和解决问题的能力。因此,在本节中,我们将讨论 如何在 Java 中将整数转换为罗马数字,采用不同的方法和逻辑。此外,我们还将为此创建 Java 程序。 ![]() 罗马数字罗马数字是数字的符号表示。它们通常用于钟表、乐理等。有 七个 字母用于表示罗马数字。下表表示罗马数字和相应的十进制值。
罗马数字具有以下特性 通常从左到右以从高到低的顺序书写,但某些特殊情况除外(左侧字符小于右侧字符)。例如,罗马数字 IV 等于 4。它不能写成 IIII。 在这种情况下,我们将左侧字符的值从右侧字符的值中减去。例如,IV 将是 5-1=4。同样,IX 将是 10-1=9。 考虑以下情况
方法将整数转换为罗马数字的方法很简单。首先,创建两个数组,一个用于存储罗马数字的值,第二个用于存储相应的字母。创建 StringBuilder 类的实例。现在将整数与罗马数字进行比较,并执行以下操作
StringBuilder 将是相应的罗马数字。 让我们通过一个例子来理解上述步骤。 示例 假设我们要将 36 转换为罗马数字。将整数与罗马值比较如下。 1000 > 36 = 是,检查下一个罗马数字。 900 > 36 = 是,检查下一个罗马数字。 500 > 36 = 是,检查下一个罗马数字。 400 > 36 = 是,检查下一个罗马数字。 100 > 36 = 是,检查下一个罗马数字。 90 > 36 = 是,检查下一个罗马数字。 50 > 36 = 是,检查下一个罗马数字。 40 > 36 = 是,检查下一个罗马数字。 10 < 36,将对应的字母“X”添加到结果中,结果 =X,N = 36-10=26 10 < 26,将对应的字母“X”添加到结果中,结果 =XX,N = 26-10=16 10 < 16,将对应的字母“X”添加到结果中,结果 =XXX,N = 16-10=6 10 > 6,检查下一个罗马数字,结果 =XXX 9 > 6,检查下一个罗马数字,结果 =XXX 5 < 6,将对应的字母“V”添加到结果中,结果 =XXXV,N = 6-5=1 5 > 1,检查下一个罗马数字,结果 =XXXV 4 > 1,检查下一个罗马数字,结果 =XXXV 1 == 1,将对应的字母“I”添加到结果中,结果 =XXXVI,N = 1-1=0 结果 = XXXVI 将整数转换为罗马数字的 Java 程序IntegerToRoman.java 输出 ![]() 另一种打印罗马数字的方法是创建四个位值数组。例如,个位、十位、百位和千位。之后,计算其位值并转换为罗马数字。 IntegerToRoman.java 输出 ![]() 注意:上述 Java 程序在 3999 之前运行良好。在给定范围内打印罗马数字DecimaltoRoman.java 输出 ![]() 除了上述方法,还有多种将整数转换为罗马数字的方法,例如使用 TreeMap、使用 switch case 等。 |
我们请求您订阅我们的新闻通讯以获取最新更新。