java 1-999之内的阿拉伯数字变罗马数字!

如题所述

第1个回答  2016-12-15
public class Test {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int s = Integer.parseInt(sc.next());
System.out.println(toRome(s));
sc.close();
}

// 阿拉伯数字转罗马数字:
// 把所有小数字在前的组合也作为基本数字,再做一个对应的数值表就可以解决问题了。
// I、V、X、 L、 C、 D、 M
// 1.5、10、50、100、500、1000
private static String toRome(int aNumber){
if(aNumber < 1 || aNumber > 3999){
return "-1";
}
int[] aArray = {1000,900,500,400,100,90,50,40,10,9,5,4,1};
String[] rArray = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
String rNumber = "";
for(int i=0; i<aArray.length; i++){
while(aNumber >= aArray[i]){
rNumber += rArray[i];
aNumber -= aArray[i];
}
}
return rNumber;
}
}
第2个回答  2016-12-15
这种应该是没有方法进行转换的,只能使用一些文字对照表一个个循环遍历输出来。本回答被网友采纳

java 1-999之内的阿拉伯数字变罗马数字!
} \/\/ 阿拉伯数字转罗马数字:\/\/ 把所有小数字在前的组合也作为基本数字,再做一个对应的数值表就可以解决问题了。\/\/ I、V、X、 L、 C、 D、 M \/\/ 1.5、10、50、100、500、1000 private static String toRome(int aNumber){ if(aNumber < 1 || aNumber > 3999){ retur...

罗马数字1到100
然后可以得出推论:一个I代表一根手指表示1.两个当然就是2.然后V表示的就是一只手也就是5.然后放在大数左边的小数是减,如IV是4.放在大数右边的小数是加如VI是6,然后X表示两只手也就是10.剩下的就跟阿拉伯数字一样组合起来。以此类推得到全部罗马数字,如下图所示:...

99,499,999用罗马数字怎么表示
99用罗马数字表示是XCIX,499用罗马数字表示是CDXCIX,999用罗马数字表示是CMXCIX。罗马字符是欧洲在阿拉伯数字(实际上是印度数字)传入之前使用的一种标志符号。I - 1、IV - 4、VI - 6、X - 10、L - 50、C - 100、D - 500、M - 1000按照三条规则可以表示任意正整数为重复数次、右加左减...

“123456”的罗马数字是什么?
总述一.罗马数字是欧洲在阿拉伯数字传入之前使用的一种数码。罗马数字采用七个罗马字母作数字,即Ⅰ(1)、X(10)、C (100)、M (1000),V (5)、L(50)、D (500)。记数的方法:(1)相同的数字连写,所表示的数等于这些数字相加得到的数,如, Ⅲ = 3;(2)小的数字在大的数字的右边,所表示的数等于这些数字相...

1-55的罗马数字怎么写
000 MCMXCIX - 1,999 MM - 2,000 MMM - 3,000 MMMM - 4,000 MMMMCMXCIX - 4,999 I�0�4�0�4 - 5,000 罗马数字共有七个,即I(1),V(5),X(10),L(50),C(100),D(500),M(1000)。按照下面的规则可以表示任意正整数。 重复数次:一个...

罗马数字对应阿拉伯数字
MMMMCMXCIX - 4,999 I?? - 5,000 拼写规则 罗马数字共有7个,即I(1),V(5),X(10),L(50),C(100),D(500),M(1000)。  按照下面的规则可以表示任意正整数。重复数次:1个罗马数字重复几次,就表示这个数的几倍。右加左减:在一个较大的罗马数字的右边...

麻烦各位大大帮我翻译一下(罗马数字翻译成阿拉伯数字)
900 CMXCIX,999 •千位数举例 M, 1000 MC, 1100 MCD, 1400 MD,1500 MDC,1600 MDCLXVI,1666 MDCCCLXXXVIII, 1888 MDCCCXCIX, 1899 MCM, 1900 MCMLXXVI, 1976 MCMLXXXIV, 1984 MCMXC, 1990 MM, 2000 •千位数以上举例 CLXXX DCL, 183650 CXXXIV CMXLV DLXXXIV, 134945584 ...

v在阿拉伯数字中是多少?
是罗马数字,在阿拉伯数字中是 5。罗马数字和阿拉伯数字对应Ⅰ-1、Ⅱ-2、Ⅲ-3、Ⅳ-4、Ⅴ-5、Ⅵ-6、Ⅶ-7、Ⅷ-8、Ⅸ-9 最常见的罗马数字就是钟表的表盘符号:Ⅰ、Ⅱ、Ⅲ、Ⅳ(IIII)、Ⅴ、Ⅵ、Ⅶ、Ⅷ、Ⅸ、Ⅹ、Ⅺ、Ⅻ 对应阿拉伯数字(就是现在国际通用的数字)、就是 1、2、3、...

C语言阿拉伯数字转变成罗马数字输出
int main(){ char* digits[10] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};char* tens[10] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};char* hundreds[10] = {"", "C", "CC", "CCC", "CD",...

罗马数字一到十分别是多少?
您好!很高兴回答您的问题!答: 罗马数字的1到12:I、II、III、IV、V 、VI、VII、VIII、IX、X。您的采纳和点赞是对我最大的支持!祝您好运!谢谢!

相似回答