2017-02-11 164 views
1

所以我使用了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

你确定要检查字符是否等于扫描仪:)? – matoni

回答

1

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

您需要存储打印之前在一个变量产生的信:

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

然后,你其实可以做的比较:

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

注意:确保generateRandomChars返回一个String ,而不是一个Character实例,但(“a”不等于java中的'a')

+0

啊,这样做更有意义,感谢您的帮助! – ODoe

+0

不客气。快乐黑客! –