From d8027908edada88d50599b585159f32ecc09622f Mon Sep 17 00:00:00 2001 From: xemjas <51793139+xemjas@users.noreply.github.com> Date: Sun, 16 Jun 2019 00:52:14 +0700 Subject: [PATCH] Integer To Roman --- Conversions/IntegerToRoman.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Conversions/IntegerToRoman.java diff --git a/Conversions/IntegerToRoman.java b/Conversions/IntegerToRoman.java new file mode 100644 index 00000000..b23a002e --- /dev/null +++ b/Conversions/IntegerToRoman.java @@ -0,0 +1,29 @@ +package Conversions; + +public class IntegerToRoman { + private static int[] allArabianRomanNumbers = new int[] {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; + private static String[] allRomanNumbers = new String[] {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}; + + public static String integerToRoman(int num) { + if(num <= 0) { + return ""; + } + + StringBuilder builder = new StringBuilder(); + + for(int a = 0;a < allArabianRomanNumbers.length;a++) { + int times = num / allArabianRomanNumbers[a]; + for(int b = 0;b < times;b++) { + builder.append(allRomanNumbers[a]); + } + + num -= times * allArabianRomanNumbers[a]; + } + + return builder.toString(); + } + + public static void main(String[] args) { + System.out.println(IntegerToRoman.integerToRoman(2131)); + } +}