2017-08-13 118 views
-1

我使用invalidFName,invalidLName,invalidStreet,invalidCity,invalidStateinvalidContactNo作为错误标志。奇怪的是,只有invalidFNameinvalidLName被标记为“未使用”,其余都很好。Java:变量未使用

这里是什么样子在NetBeans enter image description here

这是我的代码。任何帮助非常感谢:)

String fName, lName, street, city, state, contactNo; 
    boolean invalidFName, invalidLName, invalidStreet, invalidCity, invalidState, invalidContactNo; 

    do{ 
     invalidFName = true; 

     System.out.print("Please enter first name: "); 
     fName = sc.next(); 

     if (!fName.matches("^[A-Z]|[a-z]|{3,15}$")) 
      System.out.println(MSG_INVALID_HEAD + "alphabets and is between 3 and 15 characters"); 
     else 
      invalidFName = false; 

    } while(invalidFName = true); 

    do{ 
     invalidLName = true; 

     System.out.print("Please enter first name: "); 
     lName = sc.next(); 

     if (!lName.matches("^[A-Z]|[a-z]|{3,15}$")) 
      System.out.println(MSG_INVALID_HEAD + "alphabets and is between 3 and 15 characters"); 
     else 
      invalidLName = false; 

    } while(invalidLName = true); 

    System.out.println("Please enter address"); 
    do{ 
     invalidStreet = true; 

     System.out.print("Street: "); 
     street = sc.next(); 

     if(!street.matches("^[A-Z]|[a-z]|[1-9]|{1,15}$")) 
      System.out.println(MSG_INVALID_HEAD + "alphabets and numbers and is between 1 and 15 characters"); 
     else 
      invalidStreet = false; 

    } while(invalidStreet == true); 

    do{ 
     invalidCity = true; 

     System.out.print("City: "); 
     city = sc.next(); 

     if(!city.matches("^[A-Z]|[a-z]|[1-9]|{1,15}$")) 
      System.out.println(MSG_INVALID_HEAD + "alphabets and numbers and is between 1 and 15 characters"); 
     else 
      invalidCity = false; 

    } while(invalidCity == true); 

    do{ 
     invalidState = true; 

     System.out.print("State: "); 
     state = sc.next(); 

     if(!state.matches("^[A-Z]|[a-z]|[1-9]|{1,15}$")) 
      System.out.println(MSG_INVALID_HEAD + "alphabets and numbers and is between 1 and 15 characters"); 
     else 
      invalidState = false; 

    } while(invalidState == true); 

    do{ 
     invalidContactNo = true; 

     System.out.print("Contact Number: "); 
     contactNo = sc.next(); 

     if(!contactNo.matches("^[1-9]|{1,10}$")) 
      System.out.println(MSG_INVALID_HEAD + "numbers and is between 1 and 10 characters"); 
     else 
      invalidContactNo = false; 

    } while(invalidContactNo == true); 
+2

'while(invalidFName == true)'或只是'while(invalidFName)' – Guy

回答

0

哦,我的,这是一个可耻的菜鸟错误!

解决方案 -

while(invalidLName = true);

应该

while(invalidLName == true);

由于盖伊的快速反应!

+0

是的,而invalidFName也有同样的错误。 –