重复使用while循环的问题

时间:2019-05-11 10:56:38

标签: java while-loop

我想这样做,以便在我告诉它停止工作之前,可以在该程序中输入尽可能多的命令。目前,我可以输入姓氏______,并且每个具有该姓氏的人都会出现,但是随后我可以输入名字______,程序将不会执行任何操作。它仍在运行,但不再接受任何命令。我希望它运行直到我说“结束”

while(!command.equals("end"))
        {
            if(command.equals("printall"))
                prall(st, count);
            else
            if (command.equals("firstname"))
            {    
                String parameter = scan.next();
                prFname(st,count,parameter);
            }
            else
            if(command.equals("lastname"))
            {
                String parameter = scan.next();
                prLname(st,count,parameter);
            }
            else 
            if(command.equals("interval"))
            {
                int interval1=scan.nextInt();
                int interval2=scan.nextInt();
                prInterval(st,count,interval1,interval2);
            }
            else
            if(command.equals("end"))
                break;
        }

2 个答案:

答案 0 :(得分:2)

            ...
        }
        else
        if(command.equals("end"))
            break;
    }

首先,最后三行是多余的,因为循环无论如何都会结束。我认为,您只需要在循环结束时读取下一条命令,如下所示:

            ...
        }

        command = scan.next();
    }

...或用于读取命令的任何内容。

答案 1 :(得分:0)

乍一看,在我看来,值command从未在循环内更改。另外,您调用的函数可能由于任何原因都不会终止。