Próbuję sprawdzić, czy słowo zawiera tylko zestaw liter, takich jak I, O, S, H i X Załóżmy, że użytkownik wprowadza: SSHX, wynik będzie być tak, ale jeśli użytkownik wprowadzi SHEXX, wyjście będzie NOSprawdź, czy ciąg zawiera tylko zestaw liter
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");
}
}
regex jest Najprostsze rozwiązanie, ale jeśli chcesz się dowiedzieć, dlaczego twój nie działa, to dlatego, że nie testujesz niczego w pętli 'for'. Możesz to zobaczyć w debugerze. – rob