Esta sección presenta una aplicación que cuenta el número de palabras clave en un archivo fuente Java. Para cada palabra en un archivo fuente de Java, debemos determinar si la palabra es una palabra clave. Para manejar esto de manera eficiente, almacene todas las palabras clave en un HashSet y use el método contains para probar si una palabra está en el conjunto de palabras clave. El siguiente código proporciona 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"}; SetkeywordSet = 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; } }
Ingrese un archivo fuente Java: c:\Welcome.java
El número de palabras clave en c:\Welcome.java es 5
Ingrese un archivo fuente Java: c:\TTT.java
El archivo c:\TTT.java no existe
El programa solicita al usuario que ingrese un nombre de archivo fuente Java (línea 9) y lee el nombre del archivo (línea 10). Si el archivo existe, se invoca el método countKeywords para contar las palabras clave en el archivo (línea 15).
El método countKeywords crea una matriz de cadenas para las palabras clave (líneas 26) y crea un conjunto de hash a partir de esta matriz (líneas 28). Luego lee cada palabra del archivo y prueba si la palabra está en el conjunto (línea 35). Si es así, el programa aumenta el recuento en 1 (línea 36).
Puede reescribir el programa para usar un LinkedHashSet, TreeSet, ArrayList o LinkedList para almacenar las palabras clave. Sin embargo, usar un HashSet es lo más eficiente para este programa.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3