"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Étude de cas : compter les mots clés

Étude de cas : compter les mots clés

Publié le 2024-07-31
Parcourir:714

Case Study: Counting Keywords

Cette section présente une application qui compte le nombre de mots-clés dans un fichier source Java. Pour chaque mot d'un fichier source Java, nous devons déterminer si le mot est un mot-clé. Pour gérer cela efficacement, stockez tous les mots-clés dans un HashSet et utilisez la méthode contains pour tester si un mot est dans l'ensemble de mots-clés. Le code ci-dessous donne ce programme.

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;
    }

}

Entrez un fichier source Java : c:\Welcome.java
Le nombre de mots-clés dans c:\Welcome.java est de 5

Entrez un fichier source Java : c:\TTT.java
Le fichier c:\TTT.java n'existe pas

Le programme invite l'utilisateur à saisir un nom de fichier source Java (ligne 9) et lit le nom de fichier (ligne 10). Si le fichier existe, la méthode countKeywords est invoquée pour compter les mots-clés dans le fichier (ligne 15).

La méthode countKeywords crée un tableau de chaînes pour les mots-clés (lignes 26) et crée un jeu de hachage à partir de ce tableau (lignes 28). Il lit ensuite chaque mot du fichier et teste si le mot est dans l'ensemble (ligne 35). Si tel est le cas, le programme augmente le décompte de 1 (ligne 36).

Vous pouvez réécrire le programme pour utiliser un LinkedHashSet, TreeSet, ArrayList ou LinkedList pour stocker les mots-clés. Cependant, l'utilisation d'un HashSet est la plus efficace pour ce programme.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/paulike/case-study-counting-keywords-4kfa?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3