"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Estudo de caso: contando palavras-chave

Estudo de caso: contando palavras-chave

Publicado em 31/07/2024
Navegar:549

Case Study: Counting Keywords

Esta seção apresenta um aplicativo que conta o número de palavras-chave em um arquivo fonte Java. Para cada palavra em um arquivo fonte Java, precisamos determinar se a palavra é uma palavra-chave. Para lidar com isso de forma eficiente, armazene todas as palavras-chave em um HashSet e use o método contains para testar se uma palavra está no conjunto de palavras-chave. O código abaixo fornece este programa.

package demo;
import java.util.*;
import java.io.*;

public class CountKeywords {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter a Java source file: ");
        String filename = input.nextLine();

        File file = new File(filename);
        if(file.exists()) {
            try {
                System.out.println("The number of keywords in "   filename   " is "   countKeywords(file));
            } catch (Exception e) {
                System.out.println("An error occurred while counting keywords: "   e.getMessage());
            }
        } else {
            System.out.println("File "   filename   " does not exist");
        }
    }

    public static int countKeywords(File file) throws Exception {
        // Array of all Java keywords   true, false and null
        String[] keywordString = {"abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "default", "do", "double", "else", "enum", "extends", "for", "final", "finally", "float", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", "switch", "synchronized", "this", "throw", "throws", "transient", "try", "void", "volatile", "while", "true", "false", "null"};

        Set keywordSet = new HashSet(Arrays.asList(keywordString));
        int count = 0;

        Scanner input = new Scanner(file);

        while(input.hasNext()) {
            String word = input.next();
            if(keywordSet.contains(word))
                count  ;
        }

        return count;
    }

}

Insira um arquivo fonte Java: c:\Welcome.java
O número de palavras-chave em c:\Welcome.java é 5

Insira um arquivo fonte Java: c:\TTT.java
Arquivo c:\TTT.java não existe

O programa solicita que o usuário insira um nome de arquivo de origem Java (linha 9) e lê o nome do arquivo (linha 10). Se o arquivo existir, o método countKeywords é invocado para contar as palavras-chave no arquivo (linha 15).

O método countKeywords cria um array de strings para as palavras-chave (linhas 26) e cria um conjunto de hash a partir deste array (linhas 28). Em seguida, ele lê cada palavra do arquivo e testa se a palavra está no conjunto (linha 35). Nesse caso, o programa aumenta a contagem em 1 (linha 36).

Você pode reescrever o programa para usar um LinkedHashSet, TreeSet, ArrayList ou LinkedList para armazenar as palavras-chave. No entanto, usar um HashSet é o mais eficiente para este programa.

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/paulike/case-study-counting-keywords-4kfa?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3