限制密码字符的代码



我对Java仍然相对较新,并想尝试一些与字符串相关的新内容。我试图编写一个代码供用户输入4-12个字符之间的密码,到目前为止,它运行良好。但是在此过程中,我不得不在这里和那里几乎没有修复,老实说,它看起来确实很混乱,就像一个难题,所有碎片都适合但不要整理一张。我希望我的代码更加"优化",因此我可以了解像这样的代码如何工作,只是为了将来参考。因此,任何帮助,请查看我的代码,看看是否有任何可以改进的东西。谢谢!

import static java.lang.System.*;
import java.util.Scanner;
public class PasswordWithLimit {
public static void main (String[] args){
    Scanner scan = new Scanner (in);
    out.print("Enter your password(4-12 characters): ");
    String pass = scan.nextLine () + "            ";
    char check = pass.charAt (11);
    if (pass.indexOf (" ") == 3){
        out.println("Please enter a valid password: ");
    }
    if (Character.isSpaceChar(check) || Character.isWhitespace(check)){
        out.println("Your password is " + pass);
    }
    else{
        out.println("Please enter a valid password");
    }
}
}

我建议使用字符串的长度属性。此示例提示用户输入其密码,并继续向他们询问,直到他们输入满足要求的东西为止。

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.print("Enter your password (4 to 12 characters)"); // Prompt the user
    boolean valid = false;
    while (!valid) {
        String password = in.nextLine();
        if (password.length() > 3 && password.length() < 13) {
            valid = true; // Length between 4 and 12, we can stop asking.
            System.out.println("Your password is " + password);
        } else {
            System.out.print("Please enter a valid password: "); // Invalid length, ask again.
        }
    }
    in.close();
}

最新更新