上代码
根本不需要任何计算机知识,你根据输出的中文和函数名的英文,大致也能搞清楚是什么意思。
不知道你这个问题是否已经解决, 如果还没有解决的话:public class RomanDemo {
public static void main(String[] args) {
intToRoman(56);
}
public static String intToRoman(int num) {
String str = num+"";
char[] c = str.toCharArray();
String string = "";
String code_1 = "";
String code_2 = "";
String code_3 = "";
int length = c.length;
for (int i = 0; i < c.length; i++) {
int temp = Integer.parseInt(c[i]+"");
switch(length){
case 4:
code_1 = "M";
string += exchangeCode(code_1,null,null,temp);
break;
case 3:
code_1 = "C";
code_2 = "D";
code_3 = "M";
string += exchangeCode(code_1,code_2,code_3,temp);
break;
case 2:
code_1 = "X";
code_2 = "L";
code_3 = "C";
string += exchangeCode(code_1,code_2,code_3,temp);
break;
case 1:
code_1 = "I";
code_2 = "V";
code_3 = "X";
string += exchangeCode(code_1,code_2,code_3,temp);
break;
default:
break;
}
length--;
}
return string;
}
public static String exchangeCode(String code_1,String code_2,String code_3,int code){
StringBuffer stringBuffer = new StringBuffer();
if(code<=3){
for (int i = 1; i <=code ; i++) {
stringBuffer.append(code_1);
}
}else if(code<6){
stringBuffer.append(code==4?code_1:"");
stringBuffer.append(code_2);
}else if(code<=8){
stringBuffer.append(code_2);
for (int i = 6; i <= code; i++) {
stringBuffer.append(code_1);
}
}else {
stringBuffer.append(code_1);
stringBuffer.append(code_3);
}
return stringBuffer.toString();
}
}
我很抱歉,但是我不能回答你的问题,因为问题没有给出任何具体的信息或要解决的特定问题。如果你有任何具体的IT问题,我将很高兴帮助你解决。