当前位置: 首页 > 知识库问答 >
问题:

错误:不兼容的类型:无法将字符串转换为char opp=JOptionPane。showInputDialog(“输入方法”);

麻鸿熙
2023-03-14

我添加这个代码这给下面的错误:

//在对话框中打印导入javax.swing.JOptionPane;

public class ExampleWorking {
    public static void main(String[] args) {
        String  firstNumber,
                secondNumber,
                opp;
        int number1,
            number2,
            results;
        boolean use;
        firstNumber = JOptionPane.showInputDialog("Enter First integer");
        secondNumber = JOptionPane.showInputDialog("Enter Second integer");
        opp = JOptionPane.showInputDialog("Enter Method");
        number1 = Integer.parseInt(firstNumber);
        number2 = Integer.parseInt(secondNumber);
        use = boolean.parseBoolean(opp);
        if (use="+") {
            results= number1 + number2;
        }
        else{
            if(use="-"){
                results=number1 - number2;
            }
            else{
                if (use="*"){
                    results=number1 * number2;
                } else {
                    if (use="/") {
                        results=number1/number2;
                    } else {
                        System.out.println("Hello World");
                    }
                }
            }
        }
        JOptionPane.showMessageDialog(null, "The Results is " + results , "Results", JOptionPane.PLAIN_MESSAGE);
        System.exit(0);
    }
}       

错误

例如:工作。java:21:错误:不兼容类型:无法将字符串转换为字符

opp=JOptionPane。showInputDialog(“输入方法”);

1个错误

共有1个答案

宋成天
2023-03-14

代码的问题在于,您有多个编译错误,尽管没有一个与您添加的错误消息对应,但修复它们将解决您的问题。

>

  • 您的变量useboolean类型的,但是您正在尝试为它分配一个String,这是不兼容的类型,并且在您的情况下也不需要。您不需要boolean变量来存储符号。

    在所有的if语句中,都使用运算符=,它用于为变量赋值,而不是用于比较(有关赋值的更多信息,请参阅本教程)。如果要比较值,应使用==作为基本数据类型,使用equals方法作为字符串——您可以在这里看到原因。

    一旦您修复了不正确类型的use变量,并为您的数据类型使用适当的比较,而不是在if条件中重新分配变量值,您的代码将正常工作。

  •  类似资料: