クラスのために、数字を取り込んでそれをローマ数字として吐き出すプログラムを作成しています。4 が IV であることを心配する必要さえないので、これは非常に単純なはずです。このプログラムでは、4 つが 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");