2017-02-11 3 views
1

Also habe ich die generateRandomChars usw. für eine Zeichenfolge verwendet, die ich anbiete, die in etwa so aussieht;Zufällige String-Übereinstimmung

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

Das Problem, das ich habe, ist, den Benutzer immer entsprechen, was ausgegeben wird, ich habe es versucht, aber es sagt noch nicht einmal in dem Zeichen ausgewählt korrekt ist. Das ist das bisschen, auf dem ich feststecke.

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"); 
} 
} 

Offensichtlich werde ich nicht in der Lage sein vorherzusagen, welcher Buchstabe gewählt wird.

+1

Sind Sie sicher, dass Sie überprüfen möchten, ob Zeichen scanner ist :)? – matoni

Antwort

1

Sie versuchen zu überprüfen, ob das vom Benutzer gelesene Zeichen gleich dem Objekt Scanner ist (referenziert durch die Variable a), das immer falsch ist.

Sie müssen den Brief in einer Variablen erzeugt speichern, bevor es den Druck:

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

Und dann kann man tatsächlich den Vergleich tun:

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

NB: Stellen Sie sicher, generateRandomChars Gibt eine String , und nicht eine Character Instanz, obwohl ("a" ist nicht gleich "a" in Java)

+0

Ah, das macht ein wenig mehr Sinn, danke für die Hilfe! – ODoe

+0

Gern geschehen. Fröhliches Hacken! –