2011-11-02 72 views
0

我是一名編寫Java代碼的新手。我還沒有閱讀有關循環。我只需要if-else語句。我的代碼工作除了當我輸入一個句子只有第一個字被識別。如果我輸入一個沒有空格的句子,它可以很好地工作。我怎樣才能讓代碼看到整個句子?謝謝!在Java中看到的句子的第一個單詞

import java.util.Scanner; 

public class Program04 
{ 
    public static void main(String[] args) 
    { 
     Scanner keyboard = new Scanner(System.in); 
     System.out.println("Write a complete sentence with proper grammer:"); 
     String sentence = keyboard.next(); 
     boolean qMark = sentence.contains("?"); 
     boolean wow = sentence.contains("!"); 
     if (qMark) 
      System.out.println("Yes"); 
     else if (wow) 
      System.out.println("Wow"); 
     else 
      System.out.println("You always say that."); 
    } 
} 

回答

2

看看在API,特別是關於nextLine()的部分。使用替代

+0

謝謝。我嘗試過,但沒有清楚地說明我需要的答案。在查看API時,你需要知道答案。 – user1026422

+0

有一個研究元素。如果你看到'nextLine',並且你閱讀了文字,那麼它就很明顯。但我同意你的看法,很難知道有時候看哪裏。 – hvgotcodes

3

keyboard.nextLine(); 

keyboard.next(); 
+0

謝謝!有效。 – user1026422

0

Scanner.next()只返回一個令牌,它在默認情況下,只有一個字(空格分隔)。如果你想要整句話,你可以改變分隔符爲'\ n':keyboard.setDelimiter("\n");,或者你可以學習循環,然後遍歷整個句子。

編輯: 或正如其他人指出的那樣,nextLine()。這更便於使用,因爲蘋果電腦使用'\ r',這不會被我說的話所困擾。

+0

謝謝。我會牢記這一點。 – user1026422

相關問題