From 5db460ad2948d09665e26cef6a8f419814c544b4 Mon Sep 17 00:00:00 2001 From: Armerila Date: Mon, 15 Oct 2018 22:59:16 +0300 Subject: [PATCH] Assignment finished --- src/RomanNumerals.java | 53 +++++++++++++++++++++++++++-- tests/TestRomanNumerals.java | 66 ++++++++++++++++++++++++++++++++++-- 2 files changed, 114 insertions(+), 5 deletions(-) diff --git a/src/RomanNumerals.java b/src/RomanNumerals.java index 20904f0..5ce946b 100644 --- a/src/RomanNumerals.java +++ b/src/RomanNumerals.java @@ -1,8 +1,55 @@ +import java.util.LinkedHashMap; public class RomanNumerals { - public int convertToInteger(String romanNum) { - // To be Implemented - return 0; + public int convertToInteger(String romanNum) throws Exception { + String[] num = romanNum.toUpperCase().split(""); + int sum = 0; + + if(!checkLegal(romanNum)) + throw new Exception("Illegal numeral"); + + LinkedHashMap map = new LinkedHashMap(); + map.put("M", 1000); + // map.put("CM", 900); + map.put("D", 500); + // map.put("CD", 400); + map.put("C", 100); + // map.put("XC", 90); + map.put("L", 50); + // map.put("XL", 40); + map.put("X", 10); + // map.put("IX", 9); + map.put("V", 5); + // map.put("IV", 4); + map.put("I", 1); + + for (int i=0; i