char val;
int idx = 1;
do {
if (PasswordGenerator.matchCharAt (val, idx))
System.out.println("The Password is " + password);
idx++;
} while (idx < 127 );
我想测试字符参数是否与指定索引处的密码中的字符匹配。可能有很多事情都是错的,因为我已经把它弄乱了2个小时。
然后我需要将它们与stringbuilder一起追加(我不担心)并将字符显示在屏幕上(我也不担心)。
我不知道如何循环它们来检查0-127的ascii字母。所以我需要帮助来解决这个问题。
密码生成器我试图让密码在我的密码中显示随机字母(几乎或至少我认为)。这就是我为获取密码长度而做的...
int length=0;
int MaxNumber=100;
StringBuilder password = new StringBuilder();
do {
if (PasswordGenerator.matchLength (length))
System.out.println("The length of the character is " + length);
length++; // length is randomly picked
} while (length < MaxNumber ); // or <100
答案 0 :(得分:2)
char是一种原始类型 - 你可以像任何数字一样迭代它。例如:
for (char c = Character.MIN_VALUE; c < Character.MAX_VALUE; c++) {
// do stuff
}
在您的情况下,根据您给出的内容,您可以将值限制在0到127之间,但char实际上是一种数字类型。
答案 1 :(得分:0)
听起来你需要将程序结构化为嵌套在另一个循环中的循环。外部循环变量是要查找的下一个字符的索引。然后内部循环搜索与该位置的密码字符匹配的字符。由于您不知道密码的实际长度,因此您需要在找到n
th 字符和 {{1}后终止外部循环匹配密码的长度。
这样的事情可能就是你所需要的:
n
通常我不喜欢使用语句标签,但这似乎是一个使用它的自然场所。但是,您可以通过使用额外的标志变量或其他东西来摆脱它。