题目来自葛秀慧等译作《数据结构与问题求解(java语言版)》第一章课后习题
package pack_Chapter1;
/*
*整数转罗马
* I 1
* IV 4
* V 5
* IX 9
* X 10
* XL 40
* L 50
* XC 90
* C 100
* CD 400
* D 500
* CM 900
* M 1000
*/
public class program_Design2 {
public static String convert(int a) {
String romval = "";
int intTab[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
String[] romTab = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
for (int i = 0; i < intTab.length; i++) {
while (a >= intTab[i]) {
a -= intTab[i];
romval += romTab[i];
}
}
return romval;
}
public static void main(String[] args) {
System.out.println(convert(1998));
}
}
输出结果