对于一个类,我们正在创建一个程序,该程序接收一个数字并将其作为罗马数字输出。这应该很简单,因为我们甚至不必担心四是 IV。在这个程序中,四个将是 IIII。有人对如何做到这一点有任何建议......?我们不能使用数组。他的指示说:
此方法将与自然数对应的罗马数字打印到标准输出并以纯加 * 表示法。* 如果输入值为 0,则不打印任何内容。
我已经尝试了几种不同的方法,但我的逻辑是不正确的。我非常感谢您提出的任何建议。
这是我上次尝试的...
romanDigitChar(val);
if (val - 1000 >= 0)
{
int thousands = val / 1000;
int m_printed = 0;
while ( m_printed < thousands )
{
System.out.print(romanDigitChar(1000));
m_printed++;
}
}
if(val % 100 == 0 && (val/100) >= 5)
{
System.out.print(romanDigitChar(500));
}
if(val % 100 == 0 && (val/100) < 5)
{
int hundreds = val / 100;
int C_printed = 0;
{
while ( C_printed < hundreds )
{
System.out.print(romanDigitChar(100));
C_printed++;
}
}
}
if(val % ROMAN_L == 0)
{
System.out.print(romanDigitChar(50));
}
if(val % 10 == 0 && (val/10) < 5)
{
int tens = val / 10;
int X_printed = 0;
{
while ( X_printed < tens )
{
System.out.print(romanDigitChar(10));
X_printed++;
}
}
}
if(val % 5 == 0)
{
System.out.print(romanDigitChar(50));
}
if(val == 0)
System.out.println("Zero");