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 000000000000..b23a002e09bb --- /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)); + } +}
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: