如果用户输入空白则循环

时间:2012-10-20 19:58:48

标签: java

我遇到了一个while循环的问题。我已经完成了所有工作,除非用户为一个短语输入一个空格,它会给他们一个声明,说输入一个非空白短语。这需要循环,直到用户输入一个短语,但我似乎无法让它工作。

这是代码:

System.out.print("Enter a phrase to search the above text for: ");
phrase = kb.nextLine();

while (phrase.equals(""))
{
    System.out.print("Please enter a non-blank phrase: ");
    phrase = kb.next();
}

2 个答案:

答案 0 :(得分:1)

在while循环中,您正在使用phrase = kb.next();,当给出空白输入时,它会读取newline。您可以使用kb.nextLine();忽略空白输入中的换行符。

        while (phrase.equals(""))
        {
            System.out.print("Please enter a non-blank phrase: ");
            phrase = kb.nextLine();
        }

或者您可以使用trim删除尾随newline,因此请使用while (phrase.trim().equals("")): -

       while (phrase.trim().equals(""))
        {
            System.out.print("Please enter a non-blank phrase: ");
            phrase = kb.next();
        }

答案 1 :(得分:0)

尝试修剪:

            while (phrase.trim().equals(""))
            {
                System.out.print("Please enter a non-blank phrase: ");
                phrase = kb.next();
            }