测试指数和特征

时间:2012-04-27 19:06:20

标签: java

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字母。所以我需要帮助来解决这个问题。

密码生成器

This is the documentation

我试图让密码在我的密码中显示随机字母(几乎或至少我认为)。这就是我为获取密码长度而做的...

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

2 个答案:

答案 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

通常我不喜欢使用语句标签,但这似乎是一个使用它的自然场所。但是,您可以通过使用额外的标志变量或其他东西来摆脱它。