battle programmers alliance
Would you like to react to this message? Create an account in a few clicks or log in to continue.


battle programming a forum for elite programmers with extreme will power to sharpen theire skills
 
HomeSearchRegisterLog in
 

 [java] convert int to roman numerals or roman numeral to integer

Go down 
AuthorMessage
kurosen
codding
codding
kurosen

Posts : 228
Join date : 2012-04-17

[java] convert int to roman numerals or roman numeral to integer Empty
PostSubject: [java] convert int to roman numerals or roman numeral to integer   [java] convert int to roman numerals or roman numeral to integer EmptyThu Oct 01, 2020 12:19 am

Code:

package chobit;

public class RomanNumerals {
   public static String toRoman(int n) {
      String[] romanNumerals = { "M", "CM", "D", "CD", "C", "XC", "L", "X", "IX", "V", "I" };
      int[] romanNumeralNums = { 1000, 900, 500, 400, 100, 90, 50, 10, 9, 5, 1 };
      String finalRomanNum = "";

      for (int i = 0; i < romanNumeralNums.length; i++) {
         int currentNum = n / romanNumeralNums[i];
         if (currentNum == 0) {
            continue;
         }

         for (int j = 0; j < currentNum; j++) {
            finalRomanNum += romanNumerals[i];
         }

         n = n % romanNumeralNums[i];
      }
      return finalRomanNum;
   }

   public static int romanConvert(String roman) {
      int decimal = 0;

      String romanNumeral = roman.toUpperCase();
      for (int x = 0; x < romanNumeral.length(); x++) {
         char convertToDecimal = roman.charAt(x);

         switch (convertToDecimal) {
         case 'M':
            decimal += 1000;
            break;

         case 'D':
            decimal += 500;
            break;

         case 'C':
            decimal += 100;
            break;

         case 'L':
            decimal += 50;
            break;

         case 'X':
            decimal += 10;
            break;

         case 'V':
            decimal += 5;
            break;

         case 'I':
            decimal += 1;
            break;
         }
      }
      if (romanNumeral.contains("IV")) {
         decimal -= 2;
      }
      if (romanNumeral.contains("IX")) {
         decimal -= 2;
      }
      if (romanNumeral.contains("XL")) {
         decimal -= 10;
      }
      if (romanNumeral.contains("XC")) {
         decimal -= 10;
      }
      if (romanNumeral.contains("CD")) {
         decimal -= 100;
      }
      if (romanNumeral.contains("CM")) {
         decimal -= 100;
      }
      return decimal;
   }
}


oh yeah !
Back to top Go down
 
[java] convert int to roman numerals or roman numeral to integer
Back to top 
Page 1 of 1

Permissions in this forum:You cannot reply to topics in this forum
battle programmers alliance :: battle programming alliance :: battle programming-
Jump to: