2011-11-02 73 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

相关问题