如何处理我的作业,将阿拉伯数字转换为罗马数字?

时间:2011-05-12 14:43:50

标签: java roman-numerals

我需要将阿拉伯语转换为罗马语。我有一个方法编号(int place),它从某个数字中获取每个数字。

示例:5821,其中数字方法0 = 1;数字(2)= 8等

我现在需要编写一个方法(带帮助器),将这些字符转换为罗马数字。这通常不会很困难,但我不能使用数组,这种方法必须适用于三种情况(1,10和100);所以我不能为每个数字写一个案例(否则我可以多次切换或者如果要覆盖案例)。

想点什么?

2 个答案:

答案 0 :(得分:2)

由于这是作业,下面的伪代码故意不完整。

string toRomanString (int aNumber)
{
  string result = "";
  if (aNumber < 1 || aNumber.toString().length() > 4)
   throw NotImplementedException();

  for(int i=0; i < aNumber.toString().length(); i++)
  {
    if(i = 0)
    {
      throw NotImplementedException();
    }
    elseif(i = 1)
    {
      throw NotImplementedException();
    }
    elseif(i = 2)
    {
      throw NotImplementedException();
    }
    else
    {
      throw NotImplementedException();
    }
  }
}

答案 1 :(得分:2)

也许您不应考虑获取数字,而应考虑获取。将您显示的值视为值的总和,每个值都可以用罗马数字表示。

convert(5000) + convert(800) + convert(20) + convert(1)