【问题标题】:Java validation using method parameters使用方法参数的 Java 验证
【发布时间】:2014-01-30 21:53:59
【问题描述】:

我正在尝试使用验证方法验证 Signin() 和 Signup() 的用户名和密码字段。现在当我输入正确的用户名时,它一直显示错误,我不知道为什么。

验证方法:

void signup_username_validation(String username) //Username validation for signup
{
    String user_name = ""; 
    if(user_name.length() < 6 || user_name.length() > 15)
    {
        System.out.println("Username cannot be less then 6 and greater then 15 characters");
        Signup();

    }

}

void signup_password_validation(String password) //Password validation for signup
{
    String pass = ""; 

    if(pass.length() < 6)
    {
        System.out.println("Password cannot be less then 6 characters");
        Signup();
    }

}

我就是这样称呼他们的

    System.out.println("Enter Username: ");
    username = keyboard.next();
    signup_username_validation(username);

    System.out.println("Enter Password: ");
    password = keyboard.next();
    signup_password_validation(password);

【问题讨论】:

  • 如果您希望用户在完成输入后按回车键,我建议使用keyboard.nextLine(); 而不是keyboard.next();

标签: java validation


【解决方案1】:

您正在分配给String user_name = ""; 并检查这个始终为空的值

【讨论】:

  • 他对密码做了同样的事情。
  • 它要求初始化。那么我应该如何初始化变量 user_name 呢?
  • 使用用户名参数变量而不是创建新的用户名(同时检查是否为空)
  • @Jeff Craine 你传入了username 变量,但从未使用过它。然后你创建了另一个 user_name 变量并使用了那个变量。
【解决方案2】:

您正在检查已初始化为空字符串的新创建变量的有效性。您真正想要做的是检查方法参数的有效性。

void signup_username_validation(String username) //Username validation for signup
    {
    if(username.length() < 6 || username.length() > 15)
        {
        System.out.println("Username cannot be less then 6 and greater then 15 characters");
        Signup();
        }
    }

void signup_password_validation(String password) //Password validation for signup
    {
    if(password.length() < 6)
        {
        System.out.println("Password cannot be less then 6 characters");
        Signup();
        }
    }

【讨论】:

    【解决方案3】:

    试试

        public class Test {
    
            void signup_username_validation(String user_name) //Username validation for signup
            {
    //          String user_name = ""; 
                if(user_name.length() < 6 || user_name.length() > 15)
                {
                    System.out.println("Username cannot be less then 6 and greater then 15 characters");
                    Signup();
    
                }
    
            }
    
            private void Signup() {
                // TODO Auto-generated method stub
    
            }
    
            void signup_password_validation(String pass) //Password validation for signup
            {
    //          String pass = ""; 
    
                if(pass.length() < 6)
                {
                    System.out.println("Password cannot be less then 6 characters");
                    Signup();
                }
    
            }
    
        }
    

    【讨论】:

      猜你喜欢
      • 2022-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      • 2018-10-28
      相关资源
      最近更新 更多