Advertisement
Samorokimetal

Roman Numeral Converter

Feb 24th, 2021
1,346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.38 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5.     public static void main(String[] args) {
  6.         Scanner scan = new Scanner(System.in);
  7.         //Max 4999
  8.         int input = Integer.parseInt(scan.nextLine());
  9.         int temp = input;
  10.         scan.close();
  11.         ArrayList<String> roman = new ArrayList<>();
  12.  
  13.         for (int i = 0; i <= 4; i++) {
  14.             if (temp / 1000 >= 1) {
  15.                 temp -= 1000;
  16.                 roman.add("M");
  17.             }
  18.         }
  19.         temp = input % 1000;
  20.  
  21.         for (int i = 0; i <= 4; i++) {
  22.             if (temp / 900 >= 1) {
  23.                 temp -= 900;
  24.                 roman.add("C");
  25.                 roman.add("M");
  26.             }
  27.             if (temp / 500 >= 1) {
  28.                 temp -= 500;
  29.                 roman.add("D");
  30.             } else if (temp / 400 >= 1) {
  31.                 temp -= 400;
  32.                 roman.add("C");
  33.                 roman.add("D");
  34.             } else if (temp / 100 >= 1) {
  35.                 temp -= 100;
  36.                 roman.add("C");
  37.             }
  38.         }
  39.         temp = input % 100;
  40.  
  41.         for (int i = 0; i <= 4; i++) {
  42.             if (temp / 90 >= 1) {
  43.                 temp -= 90;
  44.                 roman.add("X");
  45.                 roman.add("C");
  46.  
  47.             } else if (temp / 50 >= 1) {
  48.                 temp -= 50;
  49.                 roman.add("L");
  50.             } else if (temp / 40 >= 1) {
  51.                 temp -= 40;
  52.                 roman.add("X");
  53.                 roman.add("L");
  54.             } else if (temp / 10 >= 1) {
  55.                 temp -= 10;
  56.                 roman.add("X");
  57.             }
  58.         }
  59.         temp = input % 10;
  60.  
  61.         for (int i = 0; i <= 4; i++) {
  62.             if (temp / 9 >= 1) {
  63.                 temp -= 9;
  64.                 roman.add("I");
  65.                 roman.add("X");
  66.             } else if (temp / 5 >= 1) {
  67.                 temp -= 5;
  68.                 roman.add("V");
  69.             } else if (temp / 4 >= 1) {
  70.                 temp -= 4;
  71.                 roman.add("I");
  72.                 roman.add("V");
  73.             } else if (temp / 1 >= 1) {
  74.                 temp -= 1;
  75.                 roman.add("I");
  76.             }
  77.         }
  78.         toString(roman);
  79.     }
  80.  
  81.     static void toString(ArrayList<String> str) {
  82.         for (int i = 0; i < str.size(); i++) {
  83.             System.out.print(str.get(i));
  84.         }
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement