0

我是一名新手程序员,对 if-else 循环有一个基本的问题。我有一个程序只提供 else 输出并且不检查我的 if 条件。我猜它是一个语法错误,我无法弄清楚。

public class adddeed 
{
private User user = new User();
public void showdemo()
{
    Form hi = new Form("Deed", BoxLayout.y());
    TextField first = new TextField("","Enter Description");
    Button b=new Button("Back");
    Button g=new Button("Go");
    String s=first.getText();
    DBHandler db=new DBHandler();
    g.addActionListener(e -> 
    {
        if(s.equals(null))
        {
            Dialog.show(null,"Please Enter a Deed","OK",null);
        }
        else
        {
        Dialog.show(null,"Deed Uploaded Successfully","OK",null);
        }
    });
    b.addActionListener(e -> 
    {
        new Home(user).show();
        //new adddeed().showdemo();
    });
    hi.add(first);
    hi.add(b);
    hi.add(g);
    hi.show();
}
}

预期的结果应该是当我没有在文本字段中输入任何内容并按 GO 时,它应该说“请输入契约”。实际结果是每次我按Go无论文本字段是否为空,它都会显示“Deed Uploaded Successfully”。

4

2 回答 2

1

getText() 函数不会返回 null,它返回一个空字符串。所以 s.equals(null) 总是会下降。尝试检查它是否为空字符串。

于 2019-04-06T04:29:26.987 回答
0

我做错了,而不是将字符串存储在变量中,我这样做了

if(first.getText().equals("") )
            {

                Dialog.show(null,"Please Enter a Deed","OK",null);

            }
于 2019-04-27T19:28:26.567 回答