Только первое слово в предложении видно на Java - PullRequest
0 голосов
/ 03 ноября 2011

Я новичок в написании 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.");
    }
}

Ответы [ 3 ]

3 голосов
/ 03 ноября 2011

Используйте

keyboard.nextLine();

вместо

keyboard.next();
2 голосов
/ 03 ноября 2011

взгляните на API , особенно на часть, касающуюся nextLine().

0 голосов
/ 03 ноября 2011

Scanner.next() возвращает только следующий токен, который по умолчанию является одним словом (с пробелами). Если вам нужно все предложение, вы можете изменить разделитель на '\ n': keyboard.setDelimiter("\n");, или вы можете выучить циклы, а затем перебрать все предложение целиком.

Edit: Или, как уже отмечали другие, nextLine(). Это более переносимо, потому что macs использует '\ r', что не поймет, что я сказал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...