限制密码字符的代码

时间:2018-02-06 10:28:35

标签: java string char

我还是比较新的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");

    }
}

}

1 个答案:

答案 0 :(得分:0)

我建议使用String的长度属性。此示例提示用户输入其密码并继续询问他们,直到他们输入符合要求的内容。

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();
}