我无法弄清楚为什么我的代码会永远打印出来。我尝试了一个块(将显示我最初的位置),但我希望它在打印“帮助”后继续。我的代码如下。我认为这是for循环...但我没有太多关注它。
boolean yes = true;
while(yes) {
if(str1.equalsIgnoreCase("Exit")) {
System.exit(0);
} else if (str1.equalsIgnoreCase("Help")) {
for(int g = 0; g < 2; g++) {
System.out.println(" Accepted commands:\n exit\n help\n load [filename]\n students\n search [partial name]\n assignments\n grades\n student [student name]\n assignment [assignment name]\n");
}
//I added the break here and it did print out once but I did not want it to end the program. With the break I did not need the for statement.
} else if (str1.equalsIgnoreCase("Load")) {
}
答案 0 :(得分:3)
str1
的值永远不会在循环内改变。也许您缺少一些从用户那里获得新输入的声明。
答案 1 :(得分:1)
首先关闭
boolean yes = true;
while(yes) {
您永远不会将yes
设为假
其次
if(str1.equalsIgnoreCase("Exit")) {
System.exit(0);
str1
永远不会在循环中设置,即使是"Exit"
答案 2 :(得分:0)
yes
设置为true,您从未在循环中更改它
答案 3 :(得分:0)
在循环中读取str1:
DataInputStream in = new DataInputStream(System.in);
str1=in.readLine();
while(true) {
str1=in.readLine();