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 变量“number1”可能尚未初始化_Java_Variables_Initialization - Fatal编程技术网

Java 变量“number1”可能尚未初始化

Java 变量“number1”可能尚未初始化,java,variables,initialization,Java,Variables,Initialization,我得到这个错误:100,22 java:变量number1可能没有初始化,number2也会发生同样的情况。这是当我尝试在if语句中使用变量时 其中,as表示变量'number1'从未赋值,在我声明它们时,number2也是如此 将该值设置为0将没有帮助,因为在最后一条else if语句中,该语句将始终为true public class event implements ActionListener { public void actionPerformed (ActionEvent

我得到这个错误:100,22 java:变量number1可能没有初始化,number2也会发生同样的情况。这是当我尝试在if语句中使用变量时

其中,as表示变量'number1'从未赋值,在我声明它们时,number2也是如此

将该值设置为0将没有帮助,因为在最后一条else if语句中,该语句将始终为true

public class event implements ActionListener {
    public void actionPerformed (ActionEvent a) {
        double number1, number2, add, substract, multiply, divide;
        String operator = a.getActionCommand();

        if (operator.equals("+")) {
            add = number1 + number2;
            result.setText(number1 + "+" + number2 + "=" + add);
            result.setForeground(Color.RED);
        }
        else if (operator.equals("-")) {
            substract = number1 - number2;
            result.setText(number1 + "-" + number2 + "=" + substract);
            result.setForeground(Color.RED);
        }
        else if (operator.equals("*")) {
            multiply = number1 * number2;
            result.setText(number1 + "*" + number2 + "=" + multiply);
            result.setForeground(Color.RED);
        }
        else if (operator.equals("/")) {
            if (number2 == 0) {
                result.setText("Cannot divide by zero");
                result.setForeground(Color.RED);
            }
            else {
                divide = number1 / number2;
                result.setText(number1 + "/" + number2 + "=" + divide);
                result.setForeground(Color.RED);
            }
        }
    }
}

必须初始化局部变量

您需要初始化下面的局部双变量

double number1, number2, add, substract, multiply, divide;

直到这一行和后面的所有内容,您都没有实例化,也没有为number1和number2赋值。那么,JVM如何知道您想要做什么呢?

消息中有什么不清楚的变量“number1”可能没有初始化?您没有初始化变量number1我正在编辑您的答案,因为问题标记为Java,不需要用Java编写。知道我应该将它们指定为什么值吗?您希望它们以什么值开始。正常情况下,这将是0,但由于您希望它们相加,因此它们可能是从JTextField读取的值。此代码是一个计算器程序,number1和number2应该是从JTextField读取的值。但是我不知道如何初始化双变量。如果我执行0,则计算器将始终输出0double结果=Double.parseDoublejTextField1.getText+Double.parseDoublejTextField2.getText;你甚至不需要那些number1和number2变量。该死,我仍然有这个问题,因为代码的其余部分变成红色。不管怎样,我可以把整个代码发给你,你可以帮我编辑,或者给我指出正确的方向吗?
add = number1 + number2;