随机字符串匹配

时间:2017-02-11 21:50:24

标签: java string

所以我使用了generateRandomChars等来为我提供的字符串看起来像这样;

System.out.println(generateRandomChars("ABCD", 1)); //Takes 1 random letter.

我遇到的问题是让用户匹配输出的内容,我已经尝试了但是它仍然说即使在所选字符中也没有。这就是我坚持的一点。

Scanner a = new Scanner((System.in));
String character = a.nextLine();
if(character.equals(a)){
System.out.println("Yes");
}

else (!character.equals(a)) {
System.out.println("No");
}
}

显然,我无法预测选择哪个字母。

1 个答案:

答案 0 :(得分:1)

您正在尝试检查从用户读取的字符是否等于Scanner对象(由变量a引用),这将始终为false。

您需要在打印之前存储生成的字母:

String generated = generateRandomChars("ABCD", 1);
System.out.println(generated);

然后,您可以实际进行比较:

if (character.equals(generated)) { ... }

注意:确保generateRandomChars返回String,而不是Character实例,但是(" a"不等于' a'在java中)