Ich versuche zu überprüfen, ob ein Wort nur eine Reihe von Buchstaben wie I, O, S, H und X enthält Angenommen, der Benutzer gibt ein: SSHX, wird die Ausgabe ja, aber wenn der Benutzer SHEXX eintritt, wird der Ausgang NOÜberprüfen, ob eine Zeichenfolge nur eine Reihe von Buchstaben enthält
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String word = sc.next();
word = word.toUpperCase();
int length = word.length();
char letter = 0;
for (int counter = 0; counter < length; counter++) {
letter = word.charAt(counter);
}
if (letter != 'I' && letter != 'O' && letter != 'S' && letter != 'H' && letter != 'Z' && letter != 'X' && letter != 'N') {
System.out.print("NO");
} else {
System.out.print("YES");
}
}
A regex ist die einfachste Lösung, aber wenn Sie wissen wollen, warum Ihre nicht funktioniert, ist es, weil Sie nichts in der For-Schleife testen. Sie können dies im Debugger selbst sehen. – rob