1

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

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

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

任何人的想法?

4

2 回答 2

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();
    }
  }
}
于 2011-05-12T14:56:13.843 回答
2

也许您应该考虑获得一个,而不是考虑获得一个数字。将您显示的值视为值的总和,每个值本身都可以简单地用罗马数字表示。

convert(5000) + convert(800) + convert(20) + convert(1)
于 2011-05-12T15:04:45.147 回答