#java
#java
Вопрос:
Я новичок в Java. У меня есть требование проверить statement
, и если оно содержит определенное ambguity word
, то выполните некоторую операцию.
Итак, вот код:
for (NlpAmbiguityWords nlpAmbiguityWord : nlpAmbiguityWordsList) {
String ambiguityWord = nlpAmbiguityWord.getWord();
if (statement.contains(ambiguityWord)) {
findAmbiguityWords(statement, ambiguityWord, ambiguityPhrase);
}
}
Теперь в POJO есть небольшое изменение, теперь, в дополнение к передаче ambguity word
, мы должны передать еще два параметра, precededBy
и followedBy
.. и оба они могут содержать массив строк (поэтому они могут иметь значения, разделенные запятыми). Требование таково: слова неоднозначности с precedby и followedby не должны рассматриваться как слово неоднозначности для отображения в таблице.
Например: если неоднозначное слово — user, а предшествующие слова — admin, tester, superadmin (набор из 3 значений, разделенных запятыми), и если условие истинно в любом из 3 случаев, оно однозначно.. означает, что условие внутри if в этом случае не должно оцениваться. Та же логика применима и к followedBy, а также к комбинации PRECEDBY и followedBy.
Комментарии:
1. ваш вопрос неясен
Ответ №1:
Я не совсем понимаю, что вы хотите реализовать, но если вы хотите применить некоторую логику для каждой комбинации precedent (из списка слов, разделенных запятыми), followed (из списка слов, разделенных запятыми) и ambiguityWord, вы можете использовать следующую структуру:
for (NlpAmbiguityWords nlpAmbiguityWord : nlpAmbiguityWordsList) {
String ambiguityWord = nlpAmbiguityWord.getWord();
String[] precededBys = new String[]{};
if (nlpAmbiguityWord.getPrecededBy()!=null)
precededBys =nlpAmbiguityWord.getPrecededBy().split(",");
String[] followedBys = new String[]{};
if (nlpAmbiguityWord.getFollowedBy()!=null)
followedBys =nlpAmbiguityWord.getFollowedBy().split(",");
for (String precedent:precededBys) {
// TODO: apply your logic with just precedent and ambiguityWord
for (String followed:folowedBys) {
// TODO: apply your logic using precendent, ambiguityWord and followed
}
}
for (String followed:folowedBys) {
// TODO: apply your logic using just ambiguityWord and followed
}
if (statement.contains(ambiguityWord)) {
findAmbiguityWords(statement, ambiguityWord, ambiguityPhrase);
}
}