【发布时间】:2014-01-09 20:17:38
【问题描述】:
我的 Java 程序有一点问题。我应该提示用户输入不同的密码模式。我需要格式 DDLLDD (D=digit, L=letter) 但我不太确定如何处理。
我一直在寻找类似的问题,但我只找到了你应该检查输入是否有任何顺序的数字/字母的问题。我也发现了一些正则表达式的东西,但我以前从未使用过这些东西,我只使用了 while/for 循环来检查字符输入。
我已经尝试过了,但我认为我没有得到它。我尝试检查每个字符索引。
Scanner s = new Scanner(System.in);
String input = null;
// Prompt
System.out.print("Enter input: ");
input = s.nextLine();
// Check length
while(!(input.length()==6))
{
System.out.print("Re-Enter input: ");
input = s.nextLine();
}
boolean inputcheck = false;
while(inputcheck)
{
char ch = input.charAt(0);
char ch1 = input.charAt(1);
char ch2 = input.charAt(2);
char ch3 = input.charAt(3);
char ch4 = input.charAt(4);
char ch5 = input.charAt(5);
boolean check = Character.isDigit(ch);
boolean check1 = Character.isDigit(ch1);
boolean check2 = Character.isLetter(ch2);
boolean check3 = Character.isLetter(ch3);
boolean check4 = Character.isDigit(ch4);
boolean check5 = Character.isDigit(ch5);
if((check==true)&&(check1==true)&&(check2==true)&&(check3==true)&&(check4==true)&&(check5==true));
{
inputcheck = true;
}
}
System.out.println("PASS");
【问题讨论】:
-
"digit" 和 "number" 是同义词;你打错字了吗?你的模式中的“L”实际上是指“字母”吗?
-
啊,是的,我很抱歉。我会尝试编辑它。