
罗马数字 - 基于古罗马系统,使用符号来表示数字。这些数字称为罗马数字。符号为 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免费学习笔记(深入)”;
Input Roman number is XIV. Converting it to Integer = 14.
Input Roman number is CCXXXIV. Converting it to Integer = 234.
Input Roman number is MCCXXXI. Converting it to Integer = 1231.
Step-1 - 通过静态输入或用户输入以字符串形式获取输入罗马数字。
Step-2 - 在一个用户定义的方法中,我们声明了一些条件,其中存在具有适当整数值的罗马数字。
Step-3 - 在另一个用户定义的方法中,通过使用给定字符串的索引值,我们计算罗马数字值。
Step-4 - 获取整数后,我们将其打印为输出。
我们通过不同的方式提供了解决方案。
通过具有静态输入值的用户定义方法。
通过用户定义的方法和用户输入值。
让我们一一看看该程序及其输出。
在这种方法中,我们通过静态输入法声明一个罗马输入数字,并将该数字作为参数传递到用户定义的方法中,然后在方法内部使用算法将罗马数字转换为整数。
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
在这种方法中,我们通过用户输入方法声明一个罗马输入数字,并将该数字作为参数传递到用户定义的方法中,然后在方法内部使用算法将罗马数字转换为整数。 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速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号