CS 3721: Recitation 1
Translate to Roman Numerals
|
Roman numeral program:
Here is a Java program to convert an integer between 1 and 4000 to
Roman numerals.
public class Roman {
private String[] r = {"M", "CM", "D", "CD",
"C", "XC", "L", "XL",
"X", "IX", "V", "IV",
"I" };
private int[] rv = {1000, 900, 500, 400,
100, 90, 50, 40,
10, 9, 5, 4,
1 };
public String roman(int rom) {
String s = new String();
for (int i = 0; i < 13; i++) {
while (rom >= rv[i]) {
rom -= rv[i];
s += r[i];
}
}
return s;
}
public static void main(String[] args) {
Roman r = new Roman();
int n = Integer.parseInt(args[0]);
String romN = r.roman(n);
System.out.println(n + " in Roman Numerals is " + romN);
}
}
Sample run:
% javac Roman.java
% java Roman 3947
3947 in Roman Numerals is MMMCMXLVII
% java Roman 3999
3999 in Roman Numerals is MMMCMXCIX
% java Roman 2888
2888 in Roman Numerals is MMDCCCLXXXVIII
% java Roman 1444
1444 in Roman Numerals is MCDXLIV
Revision date: 2003-12-22.
(Please use ISO
8601, the International Standard.)