Java 比较用户输入和字符串?

Java 比较用户输入和字符串?,java,Java,我正在尝试用Java创建一个ATM系统。这将生成一个带有Math.random的代码,用户必须在注册时输入pincode。我在登录部分,我遇到了一个执行if语句而不工作的问题,但是当我打印它们时,它们是相同的(用户输入和必须与之比较的变量) 我需要帮助 JButton confirmButton = new JButton("Confirm"); confirmButton.setBounds(185,200,268,25); confirmButton.setFon

我正在尝试用Java创建一个ATM系统。这将生成一个带有Math.random的代码,用户必须在注册时输入pincode。我在登录部分,我遇到了一个执行if语句而不工作的问题,但是当我打印它们时,它们是相同的(用户输入和必须与之比较的变量)

我需要帮助

JButton confirmButton = new JButton("Confirm");
       confirmButton.setBounds(185,200,268,25);
       confirmButton.setFont(title);
       loginPanel.add(confirmButton);
       confirmButton.addMouseListener(new MouseAdapter(){
           @Override
           public void mouseClicked(MouseEvent e){
               if(pinFieldobj.getText().equals(pincodes) && cardField.getText().equals(cardnoInt)){
                   transactionPanel();
               }
               else{
                   JOptionPane.showMessageDialog(null, "Incorrect input");
                   System.out.println(cardField.getText());
                   System.out.println(cardnoInt);
                   System.out.println(pinFieldobj.getText());
                   System.out.println(pincodes);
                   login();
               }
           }
       });

是源代码,供那些需要全面了解它的人使用。

。首先:您确实需要学习如何使用布局管理器,以及如何使用按钮。swing教程介绍了这一点。第二:我猜cardnoInt是
int
类型的(因为您没有发布问题中的代码)<另一方面,code>cardField.getText()可能是一个字符串。字符串永远不会等于int。您需要将int转换为字符串或将int转换为字符串,然后比较可比较的内容。感谢@JBNizet的帮助,我将尽最大努力改进我的按钮和布局管理器。通过将int转换为String,我成功地使它工作。