我试着运行该程序,它运行良好。如果假设我输入了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!");
}
}
我更换了一些东西里面,如果和其他与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!
这个输出很好理解。如果您觉得困难,请在下面评论您所面临的问题。
你的输入是什么?什么是关键字?它不是“被忽略”,它可能总是“错误的” –
@OriLentz第二个执行。这意味着它并不总是假的。 – CKing
可能有两个原因,要么控制没有进入for循环,要么if中提到的条件是false,需要更多的代码来了解 –