水平(1152)[文字列]


[文字列]-単語数


質問する
英語の大文字と小文字からなる文字列を指定します.この文字列にはいくつの語がありますか?この問題を解くプログラムを作成してください.しかし、1つの単語が何度も出てきたら、出てきた回数によって数えなければなりません.
入力
最初の行には、英語の大文字と小文字からなる文字列が表示されます.この文字列の長さは1000000を超えない.単語は1つのスペースで区切られ、スペースが連続して現れない場合.また、文字列はスペースの先頭または末尾にすることができます.
しゅつりょく
1行目に単語の個数を出力します.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class baekjoon16 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String sentence = scanner.nextLine();
        String[] sentenceArr = sentence.split(" ");
        List<String> list = new ArrayList<>();

        for(int i=0 ; i<sentenceArr.length ; i++) {

            if(!sentenceArr[i].trim().isEmpty()) {
                list.add(sentenceArr[i]);
            }
        }

        System.out.println(list.size()); 

        scanner.close();
    }
}
空の文字列("")ではなく空の文字列("")であるかどうかをチェックする場合は、trim()を加えて正確にチェックする必要があります.