From 77cf96065343badf2e5478b51616296e507416a9 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Wed, 31 Jul 2024 13:10:25 -0400 Subject: Fix Roman Numeral parsing crash (#882) --- src/main/java/de/hysky/skyblocker/utils/RomanNumerals.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/main/java/de') diff --git a/src/main/java/de/hysky/skyblocker/utils/RomanNumerals.java b/src/main/java/de/hysky/skyblocker/utils/RomanNumerals.java index ce2e6067..d6291d75 100644 --- a/src/main/java/de/hysky/skyblocker/utils/RomanNumerals.java +++ b/src/main/java/de/hysky/skyblocker/utils/RomanNumerals.java @@ -35,8 +35,7 @@ public class RomanNumerals { * Converts a roman numeral to a decimal number. * * @param romanNumeral The roman numeral to convert. - * @return The decimal number, or 0 if the string is empty or null. - * @throws IllegalArgumentException If the roman numeral is malformed. + * @return The decimal number, or 0 if the string is empty, null, or malformed. */ public static int romanToDecimal(String romanNumeral) { if (romanNumeral == null || romanNumeral.isEmpty()) return 0; @@ -46,7 +45,7 @@ public class RomanNumerals { for (int i = romanNumeral.length() - 1; i >= 0; i--) { char ch = romanNumeral.charAt(i); int number = getDecimalValue(ch); - if (number == 0) throw new IllegalArgumentException("Malformed roman numeral: " + romanNumeral); + if (number == 0) return 0; //Malformed roman numeral decimal = number >= lastNumber ? decimal + number : decimal - number; lastNumber = number; } -- cgit