有些地方会使用罗马数字,如I、IV、VI,这些和阿拉伯数字到底是什么关系呢?我们用个简单的Java程序来告诉你阿拉伯数字怎么转换成对应的罗马数字。
代码如下:
public class Test {
public static void main(String[] args) {
String[][] roman = {{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},
{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},
{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}};
int number = 88;//待转换为罗马数字的阿拉伯数字
int tmp;
int maxNum = 1000;
int numerator;//分子
int denominator ;//分母
int row;
int col;
for (int i = 0; i < 3; i++) {
numerator = number % maxNum;
denominator = maxNum / 10;
tmp = numerator / denominator;//从高位向低位依次取出各位数字
row = 2 - i;
col = tmp;
System.out.printf("%s", roman[row][col]);//对照表翻译输出
maxNum = maxNum / 10;
}
}
}
代码简析:
- main方法是程序执行入口。
- 3、4、5三行,预先定义罗马数字表。
- 第6行,是要转换的阿拉伯数字。
- 13到20行,进行核心的转换操作。
Java开发工具: IDEA (下载和使用方法可以看我们下面的专栏)
想学Java编程,可以看我下面这个专栏: