Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-while循环将第一个输出添加到第二个输出_Java_Loops_Methods - Fatal编程技术网

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
As
static
(在类级别)时,相同的变量会在多次迭代中使用,因此将其移动到内部
,而
循环为
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。当然,程序会对所有其他值执行此操作,这意味着只有输入的第一个值是正确的