Java: Convert Roman number to an integer number
Roman to Integer Conversion
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.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics