2012-10-20 37 views
0

我有一個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(); 
} 
+1

@FdFehfhd ..你需要標記的答案通過點擊除了每個答案之外的箭頭接受。見[**如何接受答案**](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

+0

'但我似乎無法得到它工作「 - 下次請指定__how__,您似乎無法使其工作。 – ppeterka

回答

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(); 
     } 
0

嘗試用裝飾:

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