Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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局部变量_Java_Variables_Methods - Fatal编程技术网

嵌套语句无法访问Java局部变量

嵌套语句无法访问Java局部变量,java,variables,methods,Java,Variables,Methods,我正在做一个项目,遇到了一个问题。我有以下代码: private void evaluateCurrentOperation() { double token; Object currentOperator = thisExprStack.pop(); double currentOperand; double result = 0.0; while (!thisOpStack.isEmpty()) { currentOperand =

我正在做一个项目,遇到了一个问题。我有以下代码:

private void evaluateCurrentOperation() {

    double token;
    Object currentOperator = thisExprStack.pop();
    double currentOperand;
    double result = 0.0;

    while (!thisOpStack.isEmpty()) {
        currentOperand = thisOpStack.pop();

        if (currentOperator.equals('+')) {
            result += currentOperand;
        }
        if (currentOperator.equals('-')) {
            result -= currentOperand;
        }
        if (currentOperator.equals('/')) {
            result /= currentOperand;
        }
        if (currentOperator.equals('*')) {
            result *= currentOperand;
        }

    }
    thisExprStack.push(result);

}
我正在使用Eclipse,当我试图在if块中使用局部变量“result”时,我收到一条警告,说result没有被使用。我很困惑,因为我清楚地使用了这个变量,但它的行为就像它不存在一样。我是Java新手,所以不知道如何调试代码


当我将“结果”推到“thisExprStack”上时,它将推0.0。它初始化为的值。如何将“结果”推送到if块中?

忽略前面的答案。相关的thisExprStack和thisOpStack是否已填充?

即使将其更改为此,结果仍不受影响。当然不是,此答案不正确,除了一些指令和更严格的键入之外,强制转换不会改变任何内容。thisExprStack已填充,我刚刚意识到我在下一部分遇到了问题。我应该将操作数从thisExprStack弹出到thisOpStack,直到找到运算符为止。我不知道如何通过while循环来实现这一点。变量显然是“可访问的”,因为您可以分配给它。问题是您没有在任何地方读取变量,因此编译器警告您,尽管您正在写入变量,但随后没有在任何地方“使用”它?