【发布时间】:2011-06-20 23:58:52
【问题描述】:
编辑--版本 第一篇文章是 confusamagin。我的任务是创建一个密码提示程序。需要检查密码以查看它是否确实包含至少一个数字和一个字母。密码长度也必须在 6 - 10 之间。
我的问题是试图弄清楚如何查看密码是否存在数字和字母。在检查密码区域,我不确定从哪里开始。我不确定如何查看它是否有一个字母和一个数字。我知道该怎么做,或者使用 for 语句来计数和检查,但它所做的只是检查它是否包含所有字母或所有数字。
以下是我目前所拥有的......
import java.util.Scanner;
class Password {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//------ENTER A USERNAME
System.out.println("Welcome please enter your username and password.");
System.out.print("Username >>");
input.nextLine();
//------PASSWORD AUTHENTICATION BEGIN
String password = enterPassword();
while ( !checkPassword(password) ) {
System.out.println("Password must be 6 - 10 characters long!");
password = enterPassword();
}
//------PASSWORD VERIFY
String passwordverify = enterPassword();
while (!password.equals(passwordverify)){
System.out.println("ERROR - Passwords DO NOT MATCH Re-Enter Passwords Again");
password = enterPassword();
}
//------ACCEPT PASSWORD
System.out.println("Username and Password Accepted!");
}
//--ENTER PASSWORD STATEMENT
public static String enterPassword(){
String password;
Scanner input = new Scanner(System.in);
System.out.print("Password >>");
password = input.nextLine();
return password;
}
//--BOOLEAN CHECK PW
public static boolean checkPassword(String password){
int length;
length = password.length();
if (length < 6 || length > 11){
return false;
}
for (int i = 0; i < password.length();i++){
if (!Character.isLetter(password.charAt(i)))
return false;
}
return true;
}
}
【问题讨论】:
-
@jzd:标题是赠品(虽然我同意正文中的某个地方应该有问题)
-
@spender,标题给出了提示,但有几个循环和逻辑检查。这个问题非常模糊。很快就发现了代码中的几个问题。
-
同意含糊其辞。我的错。我现在清理了这一切。得到了我想做的事情,但它并没有成为一项协议。在上面重新发布
标签: java authentication passwords