Я смотрел на другие вопросы вроде этого, но я не мог найти тот, который работал. Я пытаюсь проверить, ответил ли человек что-то , что означает «да», поэтому я проверяю несколько слов, которые означают «да». Но если они отвечают «yEs», мой код не будет работать, потому что его регистр чувствителен, и я не знаю, что делать.Как проверить, содержит ли строка слово без чувствительности к регистру?
Код:
String fq = JOptionPane.showInputDialog(null, "Welcome to RadinBot! Would you like to continue?", "RadinBot", JOptionPane.YES_NO_CANCEL_OPTION);
if (fq.contains("yes") ||
fq.contains("Yeah") ||
fq.contains("Yup") ||
fq.contains("mhm") ||
fq.contains("Yea") ||
fq.contains("sure"))
Вы считали преобразование введенного текста во все строчные буквы с помощью 'toLowerCase', а затем используя' contains' на входе в нижний регистр? Рассмотрим это: 'input.toLowerCase(). Содержит (« да »)'. Примечание: вам нужно будет преобразовать любые заглавные буквы в ожидаемом ответе и в нижнем регистре («Да» превращается в «да»). – Xetnus
Да, у меня есть, и я не думаю, что это сработало для меня. но я мог бы попробовать еще раз, спасибо! –
@ tunaki Я на самом деле не думаю, что это обман, потому что OP хочет сопоставить одно из нескольких слов, которое имеет другое решение. – Bohemian