我是新手程序员,对if-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时,无论文本字段是空还是不空,它都会显示“契据已成功上传”。
答案 0 :(得分:1)
getText()函数不会返回null,而是返回一个空字符串。因此s.equals(null)总是会掉落。尝试检查是否为空字符串。
答案 1 :(得分:0)
我做错了,而不是像这样将字符串存储在变量中
if(first.getText().equals("") )
{
Dialog.show(null,"Please Enter a Deed","OK",null);
}