Java 如何将数字转换成罗马数字?

Java 如何将数字转换成罗马数字?,java,Java,对于一个类,我们正在创建一个程序,该程序接收一个数字并将其作为罗马数字输出。这应该很简单,因为我们甚至不用担心四个是IV。在这个程序中,四个是IIII。有人对如何做到这一点有什么建议吗。。。?我们不能使用数组的。他的指示指出: 此方法打印到标准输出,并以纯加法打印 *表示法,与自然数相对应的罗马数字。 *如果输入值为0,则不打印任何内容 我试过几种不同的方法,但我的逻辑不正确。如果您有任何建议,我将不胜感激 这是我最后一次尝试的 romanDigitChar(val); if (val -

对于一个类,我们正在创建一个程序,该程序接收一个数字并将其作为罗马数字输出。这应该很简单,因为我们甚至不用担心四个是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");
romandightar(val);
如果(val-1000>=0)
{
整数千=val/1000;
int m_printed=0;
而(印刷单位<千)
{
系统输出打印(romanDigitChar(1000));
m_printed++;
}
}
如果(val%100==0&(val/100)>=5)
{
系统输出打印(romanDigitChar(500));
}
如果(val%100==0&(val/100)<5)
{
int数百=val/100;
int C_打印=0;
{
而(C_打印<数百)
{
系统输出打印(romanDigitChar(100));
C_printed++;
}
}   
}
如果(val%ROMAN_L==0)
{
系统输出打印(romanDigitChar(50));
}
如果(val%10==0&(val/10)<5)
{
int tens=val/10;
int X_=0;
{
而(X_打印<十)
{
系统输出打印(romanDigitChar(10));
X_printed++;
}
}   
}
如果(值%5==0)
{
系统输出打印(romanDigitChar(50));
}
如果(val==0)
System.out.println(“零”);

我不确定你的确切意思,但是

public String createRomanNumeral(int romanNumeral){
   String romanNumeralString = "";
   for(int x=0;x<romanNumeral;x++){
       romanNumeralString += "I";
   }
   return romanNumeralString;
}
公共字符串createRomanNumeric(int-RomanNumeric){
字符串字符串=”;

对于(int x=0;xWhat's work?What's not work?What's your test cases?当然,挑战的一部分是确定要遵循哪种罗马数字标准。有几个主要的分歧。这些是WiFi漫游数字吗?还是蓝牙?哇,这是很多I。哦,对不起,我没有看到没有阵列的东西:(编辑:我将其更改为不使用数组:)现在有两个变量名为
RomanNumeric
@john01dav,请使用StringBuilder