public class Roman { private String romanNum; private int decimalNum; public Roman() { romanNum = "I"; decimalNum = 1; } public Roman(String rString) { romanNum = rString; romanToDecimal(); } public void printDecimal() { System.out.println(decimalNum); } public void printRoman() { System.out.println(romanNum); } public void setRoman(String rString) { romanNum = rString; romanToDecimal(); } public String getRoman() { return romanNum; } public void romanToDecimal() { int sum = 0; int len = romanNum.length(); int i; int previous = 1000; for (i = 0; i < len; i++) { switch (romanNum.charAt(i)) { case 'M': sum = sum + 1000; if (previous < 1000) sum = sum - 2 * previous; previous = 1000; break; case 'D': sum = sum + 500; if (previous < 500) sum = sum - 2 * previous; previous = 500; break; case 'C': sum = sum + 100; if (previous < 100) sum = sum - 2 * previous; previous = 100; break; case 'L': sum = sum + 50; if (previous < 50) sum = sum - 2 * previous; previous = 50; break; case 'X': sum = sum + 10; if (previous < 10) sum = sum - 2 * previous; previous = 10; break; case 'V': sum = sum + 5; if (previous < 5) sum = sum - 2 * previous; previous = 5; break; case 'I': sum = sum + 1; previous = 1; } } decimalNum = sum; } }