我正在尝试使用Netbeans创建一个简单的计算器GUI。

如何从angka1angka2operator1输入整数和字符串,以便可以在private void btnHitungMouseClicked(java.awt.event.MouseEvent evt)中使用

private void angka1ActionPerformed(java.awt.event.ActionEvent evt) {
            nilai1=Integer.parseInt(angka1.getText());
        }
private void angka2ActionPerformed(java.awt.event.ActionEvent evt) {
                nilai2=Integer.parseInt(angka2.getText());
    }
private void operator1ActionPerformed(java.awt.event.ActionEvent evt) {
       operator=operator1.getText();
    }




private void btnHitungMouseClicked(java.awt.event.MouseEvent evt) {
        double jawaban=0;
        if(operator=="+")
            jawaban=nilai1+nilai2;
        else if(operator=="-")
            jawaban=nilai1-nilai2;
        else if(operator=="*")
            jawaban=nilai1*nilai2;
        else if(operator=="/")
            jawaban=nilai1/nilai2;
        String hasil=Double.toString(jawaban);

        txtHasil.setText(hasil);


这是我要制作的GUI:


如您所见,它似乎不起作用。当我在上面的TextField中输入数字和运算符时,我希望GUI在TextField中给出正确的结果即可。请帮忙。

最佳答案

operator =='+'不比较字符串。它检查对象。
通过右键单击Hitung Button事件>鼠标> MouseClicked创建MouseClicked事件

  private void HitungMouseClicked(java.awt.event.MouseEvent evt) {
     nilai1 = Integer.parseInt(angka1.getText());
     nilai2=Integer.parseInt(angka2.getText());
     operator=operator1.getText();

     double jawaban=0;
    if(operator.equalsIgnoreCase("+"))
        jawaban=nilai1+nilai2;
    else if(operator.equalsIgnoreCase("-"))
        jawaban=nilai1-nilai2;
    else if(operator.equalsIgnoreCase("*"))
        jawaban=nilai1*nilai2;
    else if(operator.equalsIgnoreCase("/"))
        jawaban=nilai1/nilai2;
    String hasil=Double.toString(jawaban);

    txtHasil.setText(hasil);

}

10-06 11:28