convert roman number to integer in java
Categories: Java Java Programming & Coding
package r4r.in;
import java.util.Scanner;
public class ConvertRomanNumbertoIntegerNumber {
public static void main(String[] args) {
//convert roman number to integer in java
Scanner scanner = new Scanner(System.in);
String inputRomanNumber = scanner.nextLine();
System.out.println("Input String:-" + inputRomanNumber);
int integerNumber = convertRomanNumberToIntegerNumber(inputRomanNumber);
System.out.println("Integer Number:" + integerNumber);
}
// 4=IVVVVVVVVV
private static int convertRomanNumberToIntegerNumber(String inputRomanNumber) {
int sum = 0;
for (int i = 0; i < inputRomanNumber.length(); i++) {
int n1 = romanToNumber(inputRomanNumber.charAt(i));
if (i + 1 < inputRomanNumber.length()) {
int n2 = romanToNumber(inputRomanNumber.charAt(i + 1));
if (n1 >= n2)
sum = sum + n1;
else
sum = sum - n1;
} else
sum = sum + n1;
}
return sum;
}
private static int romanToNumber(char c) {
return switch (c) {
case 'I' -> 1;
case 'V' -> 5;
case 'X' -> 10;
case 'L' -> 50;
case 'C' -> 100;
case 'D' -> 500;
case 'M' -> 1000;
default -> -1;
};
}
}