Java-while循环将第一个输出添加到第二个输出
我有一个程序,将任何罗马值作为用户输入,并输出十进制等效值。我试图在程序中添加一个循环,无限期地询问一个罗马值,然后输出十进制等效值,然后返回并再次询问 问题在于,Java-while循环将第一个输出添加到第二个输出,java,loops,methods,Java,Loops,Methods,我有一个程序,将任何罗马值作为用户输入,并输出十进制等效值。我试图在程序中添加一个循环,无限期地询问一个罗马值,然后输出十进制等效值,然后返回并再次询问 问题在于,decimalNum是一个全局变量,在用户输入罗马数字后,应该(但不是)在while循环中重新初始化 问题在于,decimalNum是一个全局变量,在用户输入罗马数字后,应该(但不是)在while循环中重新初始化 每次转换只需重置decimalNum while (true) { decimalNum = 0; ...
decimalNum
是一个全局变量,在用户输入罗马数字后,应该(但不是)在while循环中重新初始化 问题在于,decimalNum
是一个全局变量,在用户输入罗马数字后,应该(但不是)在while循环中重新初始化 每次转换只需重置decimalNum
while (true) {
decimalNum = 0;
.....
问题是在为
I
计算十进制数后,该值存储在变量decimalNum
中。当您开始转换下一个值时,它会将新值添加到现有值。每次转换只需重置decimalNum
while (true) {
decimalNum = 0;
.....
问题是在为
I
计算十进制数后,该值存储在变量decimalNum
中。当您开始转换下一个变量时,它会将新值添加到现有值。当您将decimalNum
Asstatic
(在类级别)时,相同的变量会在多次迭代中使用,因此将其移动到内部,而循环为int decimalNum=0
当您将decimalNum
设置为static
(在类级别)时,相同的变量在多次迭代中使用,因此将其移动到内部,而循环为int decimalNum=0代码>您想打印1000
?在开始下一个数字之前初始化decimalNum
可能是个好主意?是的,罗马值M=1000(十进制),第一个输出是I=1,所以程序不知何故会获取第一个值输出(1),并将其添加到第二个含义M=1001。当然,程序会对所有其他值执行此操作,这意味着只有输入的第一个值是正确的,并且您要打印1000
?在开始下一个数字之前初始化decimalNum
可能是个好主意?是的,罗马值M=1000(十进制),第一个输出是I=1,所以程序以某种方式获取第一个值输出(1),并将其添加到第二个值,表示M=1001。当然,程序会对所有其他值执行此操作,这意味着只有输入的第一个值是正确的