首页 > 解决方案 > 尝试重现代码时无法解决方法错误

问题描述

我知道这个问题已经解决了一段时间(Java 中的简单计算器 - 使用布尔值询问用户是否要继续),但我想重新创建它,当我尝试运行它时,所有数学运算符都出现错误(加、减、乘或除)。错误说:“无法解析方法 'add'/'minus'/'multiply'/'divide'”

如果我添加实际代码可能会更容易:

    import javax.swing.JOptionPane;

public class Calculator {
    public static void main(String[] args) {

        double numberOne;
        double numberTwo;
        double result;
        String number1;
        String number2;
        String input;
        boolean useCalculator = false;

        while (!useCalculator) {
            number1 = JOptionPane.showInputDialog(null, "This is a calculator\nEnter first number");
            numberOne = Double.parseDouble(number1);

            input = JOptionPane.showInputDialog(null, "Choose from the following options:\n+\n-\n*\n/");

            while (input == null || !(input.equals("+") || input.equals("*") || input.equals("/") || input.equals("-")))
                input = JOptionPane.showInputDialog(null, "Thank you! What would you like to do?\nPlease choose from the following options:\n+\n-\n*\n/");
            {
                input = JOptionPane.showInputDialog(null, "The operator" + input + "is invalid. Please choose a correct one");
            }
            number2 = JOptionPane.showInputDialog(null, "Enter second number");
            numberTwo = Double.parseDouble(number2);

            if (input != null && input.equals("+")) {
                add(numberOne, numberTwo);
                result = add(numberOne, numberTwo);
                JOptionPane.showMessageDialog(null, "The result of " + numberOne + " " + input + " " + numberTwo + " is: " + result);
            } else if (input != null && input.equals("-")) {
                minus(numberOne, numberTwo);
                result = minus(numberOne, numberTwo);
                JOptionPane.showMessageDialog(null, "The result of " + numberOne + " " + input + " " + numberTwo + " is: " + result);
            } else if (input != null && input.equals("*")) {
                multiply(numberOne, numberTwo);
                result = multiply(numberOne, numberTwo);
                JOptionPane.showMessageDialog(null, "The result of " + numberOne + " " + input + " " + numberTwo + " is: " + result);
            } else if (input != null && input.equals("/")) {
                divide(numberOne, numberTwo);
                result = divide(numberOne, numberTwo);
                JOptionPane.showMessageDialog(null, "The result of " + numberOne + " " + input + " " + numberTwo + " is: " + result);
            }


        }

        System.out.println("End of program.");
    }
}

关于如何解决这个问题并在没有这些错误的情况下运行它的任何想法?

提前致谢 :)

标签: symbols

解决方案


看起来 GUI 在后台运行,所以当我最小化窗口时,我能够看到计算器并正常运行它。控制台中显示的消息是关于旧 JDK 的提醒,所以现在一切都很好。


推荐阅读