如何显示结果?

时间:2017-07-15 09:36:36

标签: java

我刚刚制作了这个java代码,将十进制转换为罗马。但结果没有显示出来。任何解决方法?

import java.util.*;

public class Roman {
    private static String answer;
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a number: ");
        int num, m;
        num = input.nextInt();
        String[] rom = {"m", "cm", "d", "cd", "c", "xc", "l", "xl", "x", "ix", "v", "iv", "i"};
        int[] numerals = {1000,900,500,400,100,90,50,40,10,9,5,4,1};
        for (int i=0; i<numerals.length; i++){
            m = num/numerals[i];
            num = num%numerals[i];
            answer = new String(new char[m]).replace("\0", rom[i]);
        }
        System.out.println(answer);
    }
}

1 个答案:

答案 0 :(得分:0)

您必须通过连接罗马数字的单个字符串逐步构建字符串答案。 因此,如果num/numerals[i]不为零,则需要查看。

试试这个:

for (int i=0; i<numerals.length; i++){
   if(num/numerals[i] != 0) {
     answer = answer.concat(rom[i]);
   }
   num = num%numerals[i];
}

我希望,这有助于:)