Судя по вашим комментариям, вы хотите проверить, есть ли во вводе String?
единственный символ alphabeti c. Вы должны быть точны в своей терминологии. Цифры и знаки препинания также состоят из символов. Char
- это класс, представляющий любой элемент из String
, поэтому нет смысла спрашивать, является ли что-то в String Char
, потому что ответ верен, несмотря ни на что.
Вопрос, который вам нужно задать, заключается в том, является ли первый символ в данной строке буквой . Для этого есть функция: Char.isLetter()
. И поскольку мы проверяем содержимое первого символа String, нам нужно получить его значение с помощью input[0]
, потому что нет смысла спрашивать, является ли вся String буквенным символом. String никогда не является Char, потому что это разные классы. Итак, в вашем случае вы должны использовать:
if (input == null) {
continue
} else if (input.length != 1) {
println("Please enter one letter")
continue
} else if (!input[0].isLetter()) {
println("Please enter a character")
continue
}
Но опять же, здесь неверная терминология. Вы должны напоминать пользователю ввести букву, а не символ.