所以我使用了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");
}
}
显然,我无法预测选择哪个字母。
答案 0 :(得分:1)
您正在尝试检查从用户读取的字符是否等于Scanner
对象(由变量a
引用),这将始终为false。
您需要在打印之前存储生成的字母:
String generated = generateRandomChars("ABCD", 1);
System.out.println(generated);
然后,您可以实际进行比较:
if (character.equals(generated)) { ... }
注意:确保generateRandomChars返回String
,而不是Character
实例,但是(" a"不等于' a'在java中)