【问题标题】:how to get a JTextField to check if the text is equal to an int如何让 JTextField 检查文本是否等于 int
【发布时间】:2016-03-10 01:10:56
【问题描述】:

我正在制作一个程序,您可以在其中输入一个数字,它会告诉您输入是对还是错。这是代码。

static int num = 1;

JPanel pnl = new JPanel();
        JTextField numSlot = new JTextField(5);
        pnl.add(new JLabel("Enter the number:"));
        pnl.add(numSlot);

        int k = JOptionPane.showConfirmDialog(null, pnl, "Enter your code", -1);
        if (k == JOptionPane.OK_OPTION) {

            if(numSlot.getText().equals(num)) {
                JOptionPane.showMessageDialog(null, "It Worked", "It Worked", -1);
            } else {
                JOptionPane.showMessageDialog(null, "Sorry", "Sorry", -1);
            }
        }
        if (k == JOptionPane.CANCEL_OPTION) {

        } else {

        }

使用此代码,即使我输入 1,它也总是会输出抱歉,所以我做错了什么吗?如果是这样,你能回答它,尽量不要粗鲁,我是初学者。

【问题讨论】:

    标签: java swing int jtextfield


    【解决方案1】:

    使用

    if(numSlot.getText().equals(num+"")){
    

    而不是

    if(numSlot.getText().equals(num)) {
    

    num+"" 将其int 转换为String。 否则你可以使用Integer.toString(num)String.valueOf(num)

    说明

    numSlot.getText() 返回字符串,num 是 int,所以 numSlot.getText().equals(num) 总是 false,因为字符串值不能与整数值相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2014-09-27
      • 2016-07-16
      • 2014-12-04
      • 1970-01-01
      • 2012-07-22
      • 2015-11-24
      相关资源
      最近更新 更多