Java 阿拉伯数字转换为罗马数字,反之亦然

Java 阿拉伯数字转换为罗马数字,反之亦然,java,netbeans,netbeans-7,Java,Netbeans,Netbeans 7,我必须编写一个Java程序将阿拉伯数字转换成罗马数字,反之亦然,但我的代码有问题,有人能告诉我这个例子应该是什么样子吗?因为我不知道它应该是什么样子( import java.util.*; 公共类Du3{ 静态int last=2000; 静态整数[]={1,4,5,9,10,50,100,500,1000}; 静态字符串字母[]={“I”、“IV”、“V”、“IX”、“X”、“L”、“C”、“D”、“M”}; 公共静态void main(字符串[]args){ System.out.prin

我必须编写一个Java程序将阿拉伯数字转换成罗马数字,反之亦然,但我的代码有问题,有人能告诉我这个例子应该是什么样子吗?因为我不知道它应该是什么样子(

import java.util.*;
公共类Du3{
静态int last=2000;
静态整数[]={1,4,5,9,10,50,100,500,1000};
静态字符串字母[]={“I”、“IV”、“V”、“IX”、“X”、“L”、“C”、“D”、“M”};
公共静态void main(字符串[]args){
System.out.println(“输入罗马数字或整数:”);
扫描仪cti=新扫描仪(System.in);
字符串a=cti.next();
字符c=a.charAt(0);
char a1=转换罗马输入(罗马值);
if(字符isDigit(c)){
System.out.println(“罗马值=”+integerValue);}
否则{
System.out.println(“整数值=”+整数值);
}
静态int-convertRomanToInt(字符串罗马数字){
整数值=0;
for(int i=0;i
这显然是错误的:

char a1=convertRomanToInt(romanValue);
方法
convertRomanToInt()
返回一个
int
,但您正在将它分配给
a1
,这是一个
char

然后,您永远不会使用
a1
执行任何操作,而是继续尝试打印变量
integerValue

if ( Character.isDigit( c ) ){
     System.out.println("Roman value = " + integerValue);}

但是
integerValue
仅在
convertRomanToInt()
方法的范围内声明。它在
main()
中不可用。有什么问题吗?我不明白如何使此代码工作,我已经尝试了一段时间,但没有做到这一点(您应该详细说明什么问题)你有。这怎么不符合你的意思呢?也许你在寻找更多的错误;例如,
romanValue
根本没有定义的事实是完全错误的。
if ( Character.isDigit( c ) ){
     System.out.println("Roman value = " + integerValue);}