Java 在Android studio中创建应用程序,但不断获取所需的错误
因此,我正在创建一个应用程序来验证用户的输入,但当我对密码进行验证时,它所说的一切都是必需的Java 在Android studio中创建应用程序,但不断获取所需的错误,java,android,Java,Android,因此,我正在创建一个应用程序来验证用户的输入,但当我对密码进行验证时,它所说的一切都是必需的 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user); submit = (Button)findViewById(R.id.submit); name = (EditTex
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
submit = (Button)findViewById(R.id.submit);
name = (EditText)findViewById(R.id.name);
pass = (EditText)findViewById(R.id.pass);
number = (EditText)findViewById(R.id.number);
email = (EditText)findViewById(R.id.email);
submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final String Name = name.getText().toString();
final String Pass = pass.getText().toString();
if(name.length()==0)
{
name.requestFocus();
name.setError("Field cannot be empty");
}
else if(!Name.matches("[a-zA-Z]+"))
{
name.requestFocus();
name.setError("ENTER ONLY ALPHABETICAL CHARACTERS");
}
else if (pass.length())
{
pass.requestFocus();
pass.setError("FIELD CANNOT BE EMPTY");
}
else {
Context context = getApplicationContext();
CharSequence text = "Thank you, your request is being processed!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
});
}
错误发生在显示pass.length的行上。在使用条件语句时,您必须使用布尔变量来检查条件是否有效,请任何人帮助解决问题
else if (pass.length())
这里pass.length返回变量的长度,它是一个整数。不应使用整数来检查条件。与C/C++语言不同,Java不允许使用数值来代替布尔值0/1!=假/真。使用
else if (pass.length()>0)
相反,您可以在if条件中使用布尔值