Cześć, piszę kalkulator liczb arabskich, jestem przy zamieniainu liczb arabaskich na rzymskie.
Napisałem coś takiego, a raczej zahardkodowałem. Wiecie może jak to przerobić, żeby to ładniej wyglądało?

public class ArabicToRomanNumbersChanger {

    public StringBuilder changeRomanToArabicNumber(int ArabicNumber)

    {
        int thousand = ArabicNumber / 1000;
        int hundred = ArabicNumber / 100 % 10;
        int tens = ArabicNumber / 10 % 10;
        int units = ArabicNumber % 10;

        StringBuilder RomanString = new StringBuilder();

        String RomanThousand = "M";
        String RomanHundred = "C";
        String RomanTen = "X";
        String RomanOne = "I";

        for (int i = 0; i < thousand; i++) {
            RomanString.append(RomanThousand);
        }

        for (int i = 0; i < hundred; i++) {
            if (hundred > 3) {
                if (hundred == 4) {
                    RomanString.append("CD");
                    break;
                }

                if (hundred == 5) {
                    RomanString.append("D");
                    break;
                }
                if (hundred == 6) {
                    RomanString.append("DC");
                    break;
                }
                if (hundred == 7) {
                    RomanString.append("DCC");
                    break;
                }
                if (hundred == 8) {
                    RomanString.append("DCCC");
                    break;
                }

                if (hundred == 9) {
                    RomanString.append("CM");
                    break;
                }
            }
            RomanString.append(RomanHundred);
        }

        for (int i = 0; i < tens; i++) {
            if (tens > 3) {
                if (tens == 4) {
                    RomanString.append("XL");
                    break;
                }
                if (tens == 5) {
                    RomanString.append("L");
                    break;
                }
                if (tens == 6) {
                    RomanString.append("LX");
                    break;
                }
                if (tens == 7) {
                    RomanString.append("LXX");
                    break;
                }
                if (tens == 8) {
                    RomanString.append("LXXX");
                    break;
                }
                if (tens == 9) {
                    RomanString.append("XC");
                    break;
                }
            }
            RomanString.append(RomanTen);
        }

        for (int i = 0; i < units; i++) {
            if (units > 3) {
                if (units == 4) {
                    RomanString.append("IV");
                    break;
                }
                if (units == 5) {
                    RomanString.append("V");
                    break;
                }
                if (units == 6) {
                    RomanString.append("VI");
                    break;
                }
                if (units == 7) {
                    RomanString.append("VII");
                    break;
                }
                if (units == 8) {
                    RomanString.append("VIII");
                    break;
                }
                if (units == 9) {
                    RomanString.append("IX");
                    break;
                }
            }
            RomanString.append(RomanOne);
        }
        return RomanString;
    }
}