Я попытался запустить программу, и она хорошо работала. Если предположим, что я ввел day
в качестве входных данных. Затем он заходит в if
один раз и в другое время (длина ключевых слов-1). Проверьте, не вводите ли вы значение, указанное в массиве ключевых слов.
package myApp;
import java.util.Scanner;
public class Client{
public static void main(String[] args) {
String[] keywords = { "day", "Cs 377", "What book", "office", "hour",
"e-mail", "name", "major", "student e-mail", "group id",
"lectures", "lecture room", "lecture time",
"number of lectures", "current lecture",
"topics of current lecture", "number of test",
"date of a test", "number of assignments", "sure",
"current assignment", "due day" };
Scanner scanner = new Scanner(System.in);
String input = null;
/* -end init- */
System.out.println("Welcome ");
System.out.println("What's on your mind?");
do {
System.out.print("> ");
input = scanner.nextLine().toLowerCase();
for (String keyword : keywords) {
if (input.contains(keyword)) {
System.out.println("KEYWORD:" + keyword);
break;
}
else {
System.out.println("KEYWORD not found");
}
}
break;
} while (input.equalsIgnoreCase("bye"));
System.out.println("Have a good day!");
}
}
Я заменил несколько вещей внутри if и else sysout. Я ввел день ввода и получил следующий результат.
Welcome
What's on your mind?
> day
KEYWORD:day
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
KEYWORD not found
Have a good day!
Этот выход очень хорошо понятен. Если вам сложно, прокомментируйте проблему, с которой вы сталкиваетесь ниже.
Что такое 'input' и какие' ключевые слова'? Он не «проигнорирован», вероятно, всегда всегда «false» –
@OriLentz. Второй, если выполняется. Это означает, что это не всегда неверно. – CKing
может быть две причины: либо элемент управления не попадает внутрь цикла for, либо условие, указанное в if, является ложным, нужно еще немного кода для понимания –