Menu
CoddyTech

Đếm từ

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 52 trên 59.

Mình sẽ dùng HashMap để đếm tần suất xuất hiện của các từ. Từ đó sẽ là khóa, còn tần suất xuất hiện là giá trị.

HashMap<String, Integer> wordCount = new HashMap<>();
String word = "hello";
wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
challenge icon

Thử thách

Dễ

Thêm chức năng đếm từ vào chương trình. Dùng HashMap để lưu và đếm tần suất xuất hiện của từ. In số lần xuất hiện của từng từ riêng biệt.

Ví dụ:

Đầu vào:

Coddy

Đầu ra mong đợi:

Word counts:
coddy: 1

Tự làm thử

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        
        String[] sentences = text.split("\\.");
        String[][] textArray = new String[sentences.length][];
        String[][] processedArray = new String[sentences.length][];
        
        for (int i = 0; i < sentences.length; i++) {
            textArray[i] = sentences[i].trim().split(" ");
            processedArray[i] = new String[textArray[i].length];
            
            for (int j = 0; j < textArray[i].length; j++) {
                if (!textArray[i][j].isEmpty()) {
                    processedArray[i][j] = textArray[i][j]
                        .replaceAll("[^a-zA-Z ]", "")
                        .toLowerCase();
                    System.out.println("Original[" + i + "," + j + "]: " + textArray[i][j]);
                    System.out.println("Processed[" + i + "," + j + "]: " + processedArray[i][j]);
                }
            }
        }
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Java online