В настоящее время я делаю программу, которая требует от меня проверять мои слова в массиве на все слова в текстовом файле (словарь) и возвращать значение true, если оно есть, и false, если это не так. Это мой код до сих порДля каждого цикла, не возвращающего значения?
public static boolean isEnglishWord(String[] arrayOfWords) throws IOException {
for (String line : Files.readAllLines(Paths.get("words.txt"), StandardCharsets.UTF_8)) {
if(arrayOfWords[0] == line)
{
return true;
}
else
{
return false;
}
}
return false;
}
Я знаю, что это только проверяет первое слово в «линии», я задаюсь вопросом, как перейти к следующему слову, чтобы сравнить его против моего слова в массиве
1. Не используйте '==' для строк. 2. 'if (x) возвращает true; else return false; 'является очень многословным синонимом для' return x'. 3. Верните «true» только в том случае, если вы что-то найдете, поэтому удалите предложение 'else'. –
Удалить условие if и else и просто вернуть -> return (arrayOfWords [0] .equalsIgnoreCase (строка)) – exoddus
Ваш метод не имеет смысла. isEnglishWord звучит как функция, которая проверяет, является ли одно слово английским словом, а не полный список строк содержит английское слово. Либо измените имя метода, либо принимайте только одну строку в качестве параметра. – barq