Java: Convert Roman number to an integer number
Java Math Exercises: Exercise-7 with Solution
Write a Java program to convert a Roman number to an integer number.
Sample Solution:
Java Code:
public class Example7 {
public static void main(String[] args) {
String str = "DCCVII";
int len = str.length();
str = str + " ";
int result = 0;
for (int i = 0; i < len; i++) {
char ch = str.charAt(i);
char next_char = str.charAt(i+1);
if (ch == 'M') {
result += 1000;
} else if (ch == 'C') {
if (next_char == 'M') {
result += 900;
i++;
} else if (next_char == 'D') {
result += 400;
i++;
} else {
result += 100;
}
} else if (ch == 'D') {
result += 500;
} else if (ch == 'X') {
if (next_char == 'C') {
result += 90;
i++;
} else if (next_char == 'L') {
result += 40;
i++;
} else {
result += 10;
}
} else if (ch == 'L') {
result += 50;
} else if (ch == 'I') {
if (next_char == 'X') {
result += 9;
i++;
} else if (next_char == 'V') {
result += 4;
i++;
} else {
result++;
}
} else { // if (ch == 'V')
result += 5;
}
}
System.out.println("\nRoman Number: "+str);
System.out.println("Equivalent Integer: "+result+"\n");
}
}
Sample Output:
Roman Number: DCCVII Equivalent Integer: 707
Flowchart:
Java Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Java program to reverse an integer number.
Next: Write a Java program to convert an integer value to absolute value.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/java-exercises/math/java-math-exercise-7.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics