Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.stream.IntStream;
- public class RomanConverterTest {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int n = scanner.nextInt();
- IntStream.range(0, n)
- .forEach(x -> System.out.println(RomanConverter.toRoman(scanner.nextInt())));
- scanner.close();
- }
- }
- class RomanConverter {
- /**
- * Roman to decimal converter
- *
- * @param n number in decimal format
- * @return string representation of the number in Roman numeral
- */
- public static String toRoman(int n) {
- StringBuilder sb = new StringBuilder();
- //count how many digits
- Integer counter = 0;
- int m = n;
- while(m != 0 && m > 0){
- m /= 10;
- counter++;
- }
- while(n != 0){
- if(n >= 1000){
- n -= 1000;
- sb.append("M");
- }
- if(n>899 && n<1000){
- n -= 900;
- sb.append("CM");
- }
- if(n>499 && n<900){
- n -= 500;
- sb.append("D");
- }
- if(n>399 && n<500){
- n -= 400;
- sb.append("CD");
- }
- if(n>99 && n<400){
- n -= 100;
- sb.append("C");
- }
- if(n>89 && n<100){
- n -= 90;
- sb.append("XC");
- }
- if(n>49 && n<90){
- n -= 50;
- sb.append("L");
- }
- if(n>39 && n<50){
- n -= 40;
- sb.append("XL");
- }
- if(n>9 && n<40){
- n -= 10;
- sb.append("X");
- }
- if(n == 9){
- n -= 9;
- sb.append("IX");
- }
- else if(n == 8){
- n -= 8;
- sb.append("VIII");
- }
- else if(n == 7){
- n -= 7;
- sb.append("VII");
- }
- else if(n == 6){
- n -= 6;
- sb.append("VI");
- }
- else if(n == 5){
- n -= 5;
- sb.append("V");
- }
- else if(n == 4){
- n -= 4;
- sb.append("IV");
- }
- else if(n == 3){
- n -= 3;
- sb.append("III");
- }
- else if(n == 2){
- n -= 2;
- sb.append("II");
- }
- else if(n == 1){
- n -= 1;
- sb.append("I");
- }
- }
- return sb.toString();
- }
- }
Add Comment
Please, Sign In to add comment