Java 如果验证为true,则将值从注册传递到寄存器
如果验证为真,则将值从注册传递到寄存器。这些是我得到的错误 错误:(105,36)错误:变量firstName可能尚未初始化 错误:(106,36)错误:变量lastName可能尚未初始化 错误:(107,36)错误:变量mobile可能尚未初始化 错误:(108,36)错误:变量密码可能尚未初始化 错误:(109,36)错误:变量电子邮件可能尚未初始化 错误:任务“:app:compiledBugJavaWithJavaC”的执行失败。 编译失败;有关详细信息,请参阅编译器错误输出 我的代码如下Java 如果验证为true,则将值从注册传递到寄存器,java,android,android-studio,Java,Android,Android Studio,如果验证为真,则将值从注册传递到寄存器。这些是我得到的错误 错误:(105,36)错误:变量firstName可能尚未初始化 错误:(106,36)错误:变量lastName可能尚未初始化 错误:(107,36)错误:变量mobile可能尚未初始化 错误:(108,36)错误:变量密码可能尚未初始化 错误:(109,36)错误:变量电子邮件可能尚未初始化 错误:任务“:app:compiledBugJavaWithJavaC”的执行失败。 编译失败;有关详细信息,请参阅编译器错误输出 我的代码如
public class Signup extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.signup);
final String firstName;
final String lastName;
final String mobile ;
final String password;
final String email;
final EditText edt_Signup_FirstName;
final EditText edt_Signup_LastName;
final EditText edt_Signup_Mobile;
final EditText edt_Signup_Password;
final EditText edt_Signup_Email;
Button btn_Signup_Register;
edt_Signup_FirstName=(EditText)findViewById(R.id.edt_signup_first_name);
edt_Signup_LastName=(EditText)findViewById(R.id.edt_signup_last_name);
edt_Signup_Mobile=(EditText)findViewById(R.id.edt_signup_mobile);
edt_Signup_Password=(EditText)findViewById(R.id.edt_signup_password);
edt_Signup_Email=(EditText)findViewById(R.id.edt_signup_email);
btn_Signup_Register=(Button)findViewById(R.id.btn_signup_register);
btn_Signup_Register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//First Name
if(edt_Signup_FirstName.length() <8){
Toast.makeText(Signup.this, "ENTER MINIMUM 8 CHARATER", Toast.LENGTH_SHORT).show();
}else if(edt_Signup_FirstName.length()>=15){
Toast.makeText(Signup.this, "CAN ENTER MAXIMUM 15 CHARACTER", Toast.LENGTH_SHORT).show();
}else if (edt_Signup_FirstName.length() <8 && edt_Signup_FirstName.length()>=15){
String firstName = edt_Signup_FirstName.getText().toString();
}
//Last Name
if(edt_Signup_LastName.length() <8){
Toast.makeText(Signup.this, "ENTER MINIMUM 8 CHARATER", Toast.LENGTH_SHORT).show();
}else if(edt_Signup_LastName.length()>=15){
Toast.makeText(Signup.this, "CAN ENTER MAXIMUM 15 CHARACTER", Toast.LENGTH_SHORT).show();
}else{
String lastName = edt_Signup_LastName.getText().toString();
}
//Mobile
if(edt_Signup_Mobile.length() == 10){
}else{
Toast.makeText(Signup.this, "ENTER ONLY 10 DIGIT NUMBER", Toast.LENGTH_SHORT).show();
}
String phone = String.valueOf(edt_Signup_Mobile);
char c = phone.charAt(0);
if (c == '8' || c == '9' ||c =='7'){
}else if( c == '0' ||c == '1' ||c == '2' ||c == '3' ||c == '4' ||c == '5' ||c == '6')
{
Toast.makeText(Signup.this, "INVALID NUMBER BEGINED with" + " +c",Toast.LENGTH_SHORT).show();
}else if(edt_Signup_Mobile.length() == 10 && c == '8' || c == '9' ||c =='7'){
String mobile = edt_Signup_Mobile.getText().toString();
}
//Password
if(edt_Signup_Password.length() <4){
Toast.makeText(Signup.this, "ENTER MINIMUM 8 CHARATER", Toast.LENGTH_SHORT).show();
}else if(edt_Signup_Password.length()>=15){
Toast.makeText(Signup.this, "CAN ENTER MAXIMUM 15 CHARACTER", Toast.LENGTH_SHORT).show();
}else if(edt_Signup_Password.length() <4 && edt_Signup_Password.length()>=15 ){
String password = edt_Signup_Password.getText().toString();
}
//Email
if(edt_Signup_Email.length() <8){
Toast.makeText(Signup.this, "ENTER MINIMUM 8 CHARATER", Toast.LENGTH_SHORT).show();
}else if(edt_Signup_Email.length()>=25){
Toast.makeText(Signup.this, "CAN ENTER MAXIMUM 25 CHARACTER", Toast.LENGTH_SHORT).show();
}else if (edt_Signup_Email.length() <8 && edt_Signup_Email.length()>=25){
String email = edt_Signup_Email.getText().toString();
}
Intent i =new Intent(Signup.this,Register.class);
i.putExtra("key_f",firstName);
i.putExtra("key_l",lastName);
i.putExtra("key_m",mobile);
i.putExtra("key_p",password);
i.putExtra("key_e",email);
startActivity(i);
}
});
}}
public class Register extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
TextView txt_FirstName,txt_LastName,txt_Mobile,txt_Password,txt_Email;
txt_Email =(TextView)findViewById(R.id.txt_email);
txt_FirstName =(TextView)findViewById(R.id.txt_firstName);
txt_LastName = (TextView)findViewById(R.id.txt_lastName);
txt_Mobile = (TextView)findViewById(R.id.txt_mobile);
txt_Password = (TextView)findViewById(R.id.txt_password);
Intent i = getIntent();
String firstname = i.getStringExtra("key_f");
String lastname = i.getStringExtra("key_l");
String mobile = i.getStringExtra("key_m");
String password = i.getStringExtra("key_p");
String email = i.getStringExtra("key_e");
txt_Email.setText("EMAIL : " +email);
txt_FirstName.setText("FIRSTNAME : " +firstname);
txt_LastName.setText("LASTNAME : " +lastname);
txt_Mobile.setText("MOBILE : " +mobile);
txt_Password.setText("PASSWORD : " +password);
}}
公共类注册扩展了活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.signup);
最后一个字符串名;
最后一个字符串lastName;
最终字符串移动;
最终字符串密码;
最终字符串电子邮件;
最终编辑文本edt\u注册\u名字;
最终编辑文本edt\u注册\u姓氏;
最终编辑文本edt\u注册\u手机;
最终编辑文本edt\u注册\u密码;
最终编辑文本edt\u注册\u电子邮件;
按钮btn\u注册\u寄存器;
edt_Signup_FirstName=(EditText)findViewById(R.id.edt_Signup_FirstName);
edt_Signup_LastName=(EditText)findViewById(R.id.edt_Signup_last_name);
edt_Signup_Mobile=(EditText)findViewById(R.id.edt_Signup_Mobile);
edt\u注册\u密码=(EditText)findViewById(R.id.edt\u注册\u密码);
edt_Signup_Email=(EditText)findViewById(R.id.edt_Signup_Email);
btn\u注册\u寄存器=(按钮)findViewById(R.id.btn\u注册\u寄存器);
btn_Signup_Register.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//名字
如果(edt\u Signup\u FirstName.length()=15){
Toast.makeText(Signup.this,“最多可输入15个字符”,Toast.LENGTH_SHORT.show();
}else if(edt\u Signup\u FirstName.length()=15){
String firstName=edt\u Signup\u firstName.getText().toString();
}
//姓
如果(edt\u Signup\u LastName.length()=15){
Toast.makeText(Signup.this,“最多可输入15个字符”,Toast.LENGTH_SHORT.show();
}否则{
字符串lastName=edt\u Signup\u lastName.getText().toString();
}
//流动的
如果(edt_Signup_Mobile.length()=10){
}否则{
Toast.makeText(Signup.this,“仅输入10位数字”,Toast.LENGTH_SHORT.show();
}
String phone=String.valueOf(edt\u Signup\u Mobile);
char c=phone.charAt(0);
如果(c='8'| | c='9'| | c=='7'){
}如果(c='0'| | c='1'| | c='2'| | c='3'| | c='4'| | c='5'| | c='6')
{
Toast.makeText(Signup.this,“以“+”开头的无效数字”,Toast.LENGTH_SHORT.show();
}else if(edt|u Signup|u Mobile.length()==10&&c==8'| c==9'| c==7'){
字符串mobile=edt\u Signup\u mobile.getText().toString();
}
//密码
如果(edt_Signup_Password.length()=15){
Toast.makeText(Signup.this,“最多可输入15个字符”,Toast.LENGTH_SHORT.show();
}else if(edt\u Signup\u Password.length()=15){
字符串password=edt\u Signup\u password.getText().toString();
}
//电子邮件
如果(edt\u Signup\u Email.length()=25){
Toast.makeText(Signup.this,“最多可输入25个字符”,Toast.LENGTH_SHORT.show();
}否则如果(edt\u注册\u Email.length()=25){
字符串email=edt\u Signup\u email.getText().toString();
}
意向i=新意向(Signup.this,Register.class);
i、 putExtra(“钥匙f”,名字);
i、 putExtra(“key_l”,姓氏);
i、 putExtra(“key_m”,手机);
i、 putExtra(“钥匙”,密码);
i、 putExtra(“密钥”,电子邮件);
星触觉(i);
}
});
}}
公共类注册扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
TextView txt_名字、txt_姓氏、txt_手机、txt_密码、txt_电子邮件;
txt_Email=(TextView)findViewById(R.id.txt_Email);
txt_FirstName=(TextView)findViewById(R.id.txt_FirstName);
txt_LastName=(TextView)findViewById(R.id.txt_LastName);
txt_Mobile=(TextView)findViewById(R.id.txt_Mobile);
txt_密码=(TextView)findViewById(R.id.txt_密码);
Intent i=getIntent();
String firstname=i.getStringExtra(“key_f”);
字符串lastname=i.getStringExtra(“key_l”);
字符串mobile=i.getStringExtra(“key_m”);
字符串密码=i.getStringExtra(“key_p”);
字符串email=i.getStringExtra(“key_e”);
txt_Email.setText(“Email:+Email”);
txt_FirstName.setText(“FirstName:+FirstName”);
txt_LastName.setText(“LastName:+LastName”);
txt_Mobile.setText(“Mobile:+Mobile”);
txt_Password.setText(“密码:+密码”);
}}
您需要初始化这些变量
final String firstName = "";
final String lastName = "";
final String mobile = "" ;
final String password = "";
final String email = "";
首先,final变量必须用值初始化。而且永远不会改变:
final String firstName = "value";
final String lastName = "value";
final String mobile = "value" ;
final String password = "value";
final String email = "value";
接下来,您似乎想更改最终变量的值,但创建了从未使用过的新变量:
else {
String lastName = edt_Signup_LastName.getText().toString();
}
然后放入未初始化的最终变量:
i.putExtra("key_f",firstName);
我建议您在不创建新变量的情况下删除最终mod并正确设置值:
String firstName;
...
else {
firstName = i.putExtra("key_f",firstName);
}
希望您能得到正确的结果。尝试如下修改代码:
btn_Signup_Register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//First Name
if (edt_Signup_FirstName.length() <8) {
Toast.makeText(Signup.this, "ENTER MINIMUM 8 CHARATER", Toast.LENGTH_SHORT).show();
return;
} if (edt_Signup_FirstName.length()>=15){
Toast.makeText(Signup.this, "CAN ENTER MAXIMUM 15 CHARACTER", Toast.LENGTH_SHORT).show();
return;
}
String firstName = edt_Signup_FirstName.getText().toString();
//Last Name
if (edt_Signup_LastName.length() <8) {
Toast.makeText(Signup.this, "ENTER MINIMUM 8 CHARATER", Toast.LENGTH_SHORT).show();
return;
}
if (edt_Signup_LastName.length()>=15) {
Toast.makeText(Signup.this, "CAN ENTER MAXIMUM 15 CHARACTER", Toast.LENGTH_SHORT).show();
return;
}
String lastName = edt_Signup_LastName.getText().toString();
//Mobile
if (edt_Signup_Mobile.length() != 10) {
Toast.makeText(Signup.this, "ENTER ONLY 10 DIGIT NUMBER", Toast.LENGTH_SHORT).show();
return;
}
String phone = String.valueOf(edt_Signup_Mobile);
char c = phone.charAt(0);
if (c == '8' || c == '9' ||c =='7') {
} else if ( c == '0' ||c == '1' ||c == '2' ||c == '3' ||c == '4' ||c == '5' ||c == '6') {
Toast.makeText(Signup.this, "INVALID NUMBER BEGINED with" + " +c",Toast.LENGTH_SHORT).show();
return;
}
String mobile = edt_Signup_Mobile.getText().toString();
//Password
if (edt_Signup_Password.length() <4) {
Toast.makeText(Signup.this, "ENTER MINIMUM 8 CHARATER", Toast.LENGTH_SHORT).show();
return;
}
if (edt_Signup_Password.length()>=15) {
Toast.makeText(Signup.this, "CAN ENTER MAXIMUM 15 CHARACTER", Toast.LENGTH_SHORT).show();
return;
}
String password = edt_Signup_Password.getText().toString();
//Email
if (edt_Signup_Email.length() <8) {
Toast.makeText(Signup.this, "ENTER MINIMUM 8 CHARATER", Toast.LENGTH_SHORT).show();
return;
}
if (edt_Signup_Email.length()>=25) {
Toast.makeText(Signup.this, "CAN ENTER MAXIMUM 25 CHARACTER", Toast.LENGTH_SHORT).show();
return;
}
String email = edt_Signup_Email.getText().toString();
Intent i =new Intent(Signup.this,Register.class);
i.putExtra("key_f",firstName);
i.putExtra("key_l",lastName);
i.putExtra("key_m",mobile);
i.putExtra("key_p",password);
i.putExtra("key_e",email);
startActivity(i);
}
});
btn\u Signup\u Register.setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
//名字
如果(edt\u Signup\u FirstName.length()=15){
Toast.makeText(Signup.this,“最多可输入15个字符”,Toast.LEN
if(edittext_firstname.getText().toString() is not OK)
//Show proper toast messages
else if (edittext_lastname.getText().toString() is not OK)
// show proper toast messages
.
.
.
else
startActivity(Register) ;