【问题标题】:Need help confirming password after validation验证后需要帮助确认密码
【发布时间】:2018-09-30 05:27:08
【问题描述】:

主程序应要求输入 8 个字符、1 个大写、1 个小写和 1 个数字的密码。一旦通过要求,它应该要求用户重新输入密码并检查两个密码是否匹配。我需要帮助将该部分添加到我的代码中。目前,代码编译没有问题。

import java.util.Scanner;
public class PassChecker2 {

   public static void main (String [] args) {
       Scanner input = new Scanner(System.in);

       String inputPassword;
       System.out.println(" Please enter your Password:");
       inputPassword = input.next();

       System.out.println(checkerPass(inputPassword));
       System.out.println("");

       //main(args);                     

   }
   public static boolean lenthgCk (String password) {

          if (password.length() > 7) {

             if(checkerPass(password)) {
                return true;
          }
         }
          else {
            System.out.println("Password must be at least 8 characters long.");
            return false;
          }
            return true;
         } 

   public static boolean checkerPass (String password) { 

      boolean hasUpperCase = false;
      boolean hasLowerCase = false;
      boolean hasDigit = false;
      char c;

      for (int i = 0; i < password.length(); i++) {

          c = password.charAt(i);  
          if(Character.isUpperCase(c)) {
             hasUpperCase = true;
          }
          else if(Character.isLowerCase(c)) {
             hasLowerCase = true;
          }
          else if(Character.isDigit(c)) {
             hasDigit = true;
          }
          if(hasUpperCase && hasLowerCase && hasDigit) {
             return true;
          }
          else {     
          System.out.println("Password is invalid must meet all requirements.");
          return false;
          }
   }
          return true;
          }

  }

【问题讨论】:

  • 比较密码? String1.equals(String2);?
  • 这是一个很好的例子,说明为什么代码格式很重要。您的 return 语句在循环内。
  • 好的,我会纠正谢谢!

标签: java string passwords


【解决方案1】:

只需以与输入原始密码相同的方式输入另一个字符串并检查它们是否相等:

System.out.println(" Please confirm your Password:");
Stirng confirmPassword = input.next();

if (!confirmPassword.equals(inputPassword)) {
    System.out.println("Passwords do not match");
    // And possibly exit the program here?
} 

【讨论】:

  • 我是必须为它创建一个全新的方法还是干脆将它添加到主方法中?
  • @SamaliiiRose 都是有效的选择
猜你喜欢
  • 1970-01-01
  • 2014-07-10
  • 2015-08-27
  • 2019-12-16
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 2021-08-09
  • 1970-01-01
相关资源
最近更新 更多