这里的新编程学生我正在创建一个程序,将罗马数字输入转换为它的十进制数。我现在正在使用转换方法,我必须使用单维数组,所以这就是我所做的:
public static int numberConversion(int number) {
char[] romanChar = new char[8];
romanChar[I] = 1;
romanChar[V] = 5;
romanChar[X] = 10;
romanChar[L] = 50;
romanChar[C] = 100;
romanChar[D] = 500;
romanChar[M] = 1000;
但显然有些事情是不对的,因为我在这七行中的每一行都发现了Netbeans的错误
无法找到符号。符号:变量I
我知道这是错的,但我怎样才能使用单维数组以正确的方式将这些罗马数字字符的值放入其中?
答案 0 :(得分:0)
使java成为一种重要语言的一个原因是Java是一种面向对象的语言,所以使用它。
对于您的示例,创建一个类,表示RomanChar,其中符号为char,值为整数,如下所示:
Public class RomanChar{
public int value;
public char romanCharamcter;
}
答案 1 :(得分:0)
public enum RomanNumerals
{
I (1),
V (5),
X (10),
L (50),
C (100),
D (500),
M (1000);
private final Integer value;
RomanNumerals(Integer value)
{
this.value = value;
}
public int getValue()
{
return value;
}
public static void main(String... args)
{
System.out.println("The roman numeral 'V' value is: " + V.value);
}
}
我认为使用枚举是最好的解决方案。它提供了不可变(常量)值;这真的是这个实现所需要的。罗马数字的价值和特征根本无法改变。当然,输出是:
The roman numeral 'V' value is: 5