如何检查 JTextField 是否等于 Java 中的某个值?

问题描述

我正在尝试制作一个程序,让用户选择操作,然后在 JTextField 中出现两个随机数,并且用户应该将答案放在另一个文本字段中,我正在尝试检查天气结果等于或不等于答案文本字段,然后在文本字段中显示错误或正确。但它总是显示“false”。

这是我的方法

public cal() {
        initComponents();
    }
  Scanner input= new Scanner(system.in);  
double result,ans,ad;
String opr; 

double num1= ((int)(Math.random()*100));
String str1= Double.toString(num1);
double num2= ((int)(Math.random()*100));
String str2= Double.toString(num2);
    
    @SuppressWarnings("unchecked")
    private void initComponents() {

        jFrame1 = new javax.swing.JFrame();
        jlayeredPane1 = new javax.swing.JlayeredPane();
        jSeparator1 = new javax.swing.JSeparator();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        adbut = new javax.swing.JRadioButton();
        subbut = new javax.swing.JRadioButton();
        divbut = new javax.swing.JRadioButton();
        mulbut = new javax.swing.JRadioButton();
        jLabel3 = new javax.swing.JLabel();
        opersign = new javax.swing.JTextField();
        n1 = new javax.swing.JTextField();
        n2 = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        answer = new javax.swing.JTextField();
        checkbut = new javax.swing.JButton();
        dis = new javax.swing.JTextField();
        );

        pack();
    }// </editor-fold>                        

    private void adbutActionPerformed(java.awt.event.ActionEvent evt) {
        opersign.setText("+");
        opr="+";
        n1.setText(str1);
        n2.setText(str2);
    }                                     

    private void subbutActionPerformed(java.awt.event.ActionEvent evt) {
        opersign.setText("-");    
        opr="-"; 
        n1.setText(str1);
        n2.setText(str2);
    }                                      

    private void divbutActionPerformed(java.awt.event.ActionEvent evt) {
        opersign.setText("/");
        opr="/";
        n1.setText(str1);
        n2.setText(str2);
    }                                      

    private void mulbutActionPerformed(java.awt.event.ActionEvent evt) {
        opersign.setText("*");
        opr="*";
        n1.setText(str1);
        n2.setText(str2);
    }                                      

    private void disActionPerformed(java.awt.event.ActionEvent evt) {      
    }                                   

    private void n1ActionPerformed(java.awt.event.ActionEvent evt) {        
    }                                  
    
    private void opersignActionPerformed(java.awt.event.ActionEvent evt) {
    }                                        

    private void n2ActionPerformed(java.awt.event.ActionEvent evt) {        
    }                                  

    private void answerActionPerformed(java.awt.event.ActionEvent evt) {
         
         ans= Double.parseDouble(answer.getText());
    }                                      

    private void checkbutActionPerformed(java.awt.event.ActionEvent evt) {
        if(opr=="+") result= num1+num2;
        else if(opr=="-") result= num1-num2;
        else if(opr=="/") result= num1/num2;
        else result= num1 * num2;

        if(result != ans) dis.setText(" FALSE ");
        else if (result == ans) dis.setText(" CORRECT!! ");
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)