Advertisement
dzocesrce

[NP] Arab-Roman Converter

Nov 22nd, 2023
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.48 KB | None | 0 0
  1. // lab1 zad2, ova e samo pocetok, vamos VAMOOOOOS
  2. import java.util.Scanner;
  3. import java.util.stream.IntStream;
  4.  
  5. public class RomanConverterTest {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.         int n = scanner.nextInt();
  9.         IntStream.range(0, n)
  10.                 .forEach(x -> System.out.println(RomanConverter.toRoman(scanner.nextInt())));
  11.         scanner.close();
  12.     }
  13. }
  14.  
  15.  
  16. class RomanConverter {
  17.     /**
  18.      * Roman to decimal converter
  19.      *
  20.      * @param n number in decimal format
  21.      * @return string representation of the number in Roman numeral
  22.      */
  23.     public static String toRoman(int n) {
  24.         // your solution here
  25.         StringBuilder roman_representation= new StringBuilder("");
  26.         while(n>=1000){
  27.             roman_representation.append("M");
  28.             n-=1000;
  29.         }
  30.         while(n>=500){
  31.             if((n/100)%10==9){
  32.                 roman_representation.append("CM");
  33.                 n-=900;
  34.             }
  35.             else{
  36.                 roman_representation.append("D");
  37.                 n-=500;
  38.             }
  39.         }
  40.         while(n>=100){
  41.             if((n/100)%10==4){
  42.                 roman_representation.append("CD");
  43.                 n-=400;
  44.             }
  45.             else{
  46.                 roman_representation.append("C");
  47.                 n-=100;
  48.             }
  49.         }
  50.         while(n>=50){
  51.             if((n/10)%10==9){
  52.                 roman_representation.append("XC");
  53.                 n-=90;
  54.             }
  55.             else{
  56.                 roman_representation.append("L");
  57.                 n-=50;
  58.             }
  59.         }
  60.         while(n>=10){
  61.             if((n/10)%10==4){
  62.                 roman_representation.append("XL");
  63.                 n-=40;
  64.             }
  65.             else{
  66.                 roman_representation.append("X");
  67.                 n-=10;
  68.             }
  69.         }
  70.         while(n>=5){
  71.             if(n%10==9){
  72.                 roman_representation.append("IX");
  73.                 n-=9;
  74.             }
  75.             else{
  76.                 roman_representation.append("V");
  77.                 n-=5;
  78.             }
  79.         }
  80.         while(n>=1){
  81.             if(n%10==4){
  82.                 roman_representation.append("IV");
  83.                 n-=4;
  84.             }
  85.             else{
  86.                 roman_representation.append("I");
  87.                 n-=1;
  88.             }
  89.         }
  90.         return roman_representation.toString();
  91.     }
  92.  
  93. }
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement