这篇文章主要介绍了利用Java怎么对罗马数字与阿拉伯数字进行转换,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:
Java可以用来干什么
Java主要应用于:1。网页开发;2。Android开发;3。客户端开发;4。网页开发;5。企业级应用开发;6。Java大数据开发;7。游戏开发等。
罗马数字的表示主要依赖以下几个基本符号:
,,,小姐:1
,,,V 5
,,,X 10
,,,L 50
,,,C 100年
,,,D 500年
,,,M 1000年
这里,我们只介绍一下1000年以内的数字的表示法。
单个符号重复多少次,就表示多少倍。最多重复3次。比如:CCC表示300,XX表示,但150年并不用微光表示,这个规则仅适用于我X C m .
如果相邻级别的大单位在右,小单位在左,表示大单位中扣除小单位比。如:IX表示9,4第四表示,XL表示40更多的示例参见下表,你找到规律了吗?
我1
2 2
第三,第四3
,
4 V, 5
第六,第七6
,
7八世,8
第九,9 X
,
10, 11第十二
,
十三12、13
十四14
十五15
十六16
十七17
十八18第十九
,
XX 19日20
第二十一章,
第二十二21日,22日第29
,
XXX, 29日30
第23,34第45
,
35 XXXIX, 39
XL, 40 L
,
50, 51
LV, 55
LX, 60
LXV, 65
LXXX 80
XC 90
XCIII 93
XCV 95
XCVIII 98
XCIX, 99 C
,
100 CC, CCC, 200
300
CD, 400 D
,
500, 600
DCC, 700
DCCC,
800厘米,900
CMXCIX 999
本题目的要求的是:请编写程序,由用户输入若干个罗马数字串,程序输出对应的十进制表示。
输入格式是:第一行是整数n,表示接下来有n个罗马数字(n<100)。以后每行一个罗马数字。罗马数字大小不超过999 .
要求程序输出n行,就是罗马数字对应的十进制数据。
例如,用户输入:
3
LXXX
XCIII
DCCII
则程序应该输出:
80
93
702
import java.util.Scanner;/* * ,*请编写程序,由用户输入若干个罗马数字串,程序输出对应的十进制表示。 ,* ,*输入格式是:第一行是整数n,表示接下来有n个罗马数字(n<100)。以后每行一个罗马数字。罗马数字大小不超过999。 ,* ,*要求程序输出n行,就是罗马数字对应的十进制数据。 ,* ,*,例如,用户输入:,3,LXXX XCIII DCCII ,* ,*则程序应该输出:,80,93,702 ,* ,* @author 管理员 ,* ,*/public class  RomeToArabic { public 才能;static  void main (String [], args), { ,,,//,TODO Auto-generated method 存根 ,,,System.out.println(“测试结果:“); ,,,Scanner mScanner =, new 扫描仪(系统); ,,,System.out.println (r2a (mScanner.nextLine ())); ,,,System.out.println (a2r (mScanner.nextInt ())); ,,} ,/* * ,,*,把罗马数字转换为阿拉伯数字 ,,* ,,*,@param m ,,* @return ,,*/public 才能static int  r2a (String 米),{ ,,,int 图[],=,new int [400]; ,,,图(& # 39;我# 39;],=,1; ,,,图(& # 39;v # 39;],=, 5; ,,,图(& # 39;x # 39;],=, 10; ,,,图(& # 39;l # 39;],=, 50; ,,,图(& # 39;c # 39;],=, 100; ,,,图(& # 39;d # 39;],=, 500; ,,,图[& # 39;猴子# 39;],=,1000; ,,,char [], num =, m.toCharArray (); ,,,int sum =,图(num [0]); ,,,for (int 小姐:=,0;,小姐:& lt;, num.length 作用;1;,我+ +),{ ,,,,,if (图(num[我]],祝辞=,图(num[小姐:+,- 1]]),{ ,,,,,,,sum +=,图(num[小姐:+,- 1]]; ,,,,,},{else ,,,,,,,sum =, sum +,图(num[小姐:+,- 1]],安康;2,*,图(num[我]]; ,,,,,} ,,,} ,,,return 总和; ,,} ,/* * ,,*,把阿拉伯数字转换为罗马数字 ,,* ,,*,@param 数字 ,,* @return ,,*/public 才能static String  a2r (int 编号),{ ,,,String rNumber =,““ ,,,int [], aArray =, {, 1000, 900, 500, 400, 100, 90,,,,,,,,,,,,,, 1,}; ,,,String [], rArray =, {,“M",,“CM",,“D",,“CD",,“C",,“XC",,“L",,“XL",,“X", ,,,,,,,“IX",,“V",,“IV",,“我,}; ,,,if (number & lt;, 1, | |, number 祝辞,3999),{ ,,,,,rNumber =,“1”; ,,,},{else null null null null null null null null null null利用Java怎么对罗马数字与阿拉伯数字进行转换