У меня есть метод, который должен сканировать одну из трех букв заглавными или строчными буквами и возвращать строчную версию письма. Если введена неправильная буква, пользователь предупреждается и повторно запрашивается буква. У меня есть две проблемы: 1: как только метод запускается, я получаю выводную строку с сообщением об ошибке, сообщающим пользователю о недопустимой записи, не дожидаясь записи! (поэтому при втором запуске метода я вижу High, low or sevens (H/L/S):Invalid entry. Please try again using H/L/S!
перед вводом чего-либо, затем метод снова вызывается, и все работает нормально, за исключением моей следующей проблемы) 2: запись, полученная от сканера, никогда не проходит ни один из моих операторов if даже хотя должно.
мой код:
private static char getHighLow(Scanner inScanner) {
System.out.print("High, low or sevens (H/L/S):");
String entered = inScanner.nextLine();
System.out.print(entered);
if(entered.equals("H") || entered.equals("h")){
return 'h';
}
else if (entered.equals("L") || entered.equals("l")){
return 'l';
}
else if(entered.equals("S") || entered.equals("s")){
return 's';
}
char result = 0;
while(result != 'l' || result != 'h' || result != 's'){
System.out.println("Invalid entry. Please try again using H/L/S!");
result=getHighLow(inScanner);
}
return result;
}