このセクションでは、Java ソース ファイル内のキーワードの数をカウントするアプリケーションを紹介します。 Java ソース ファイル内の各単語について、その単語がキーワードであるかどうかを判断する必要があります。これを効率的に処理するには、すべてのキーワードを HashSet に保存し、contains メソッドを使用して、単語がキーワード セットに含まれているかどうかをテストします。以下のコードはこのプログラムを提供します。
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<String> 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; } }
Java ソース ファイルを入力します: c:Welcome.java
c:Welcome.java のキーワードの数は 5
Java ソース ファイルを入力します: c:TTT.java
ファイル c:TTT.java が存在しません
プログラムはユーザーに Java ソース ファイル名の入力を求め (9 行目)、ファイル名を読み取ります (10 行目)。ファイルが存在する場合、countKeywords メソッドが呼び出され、ファイル内のキーワードがカウントされます (15 行目)。
countKeywords メソッドは、キーワードの文字列の配列を作成し (26 行目)、この配列からハッシュ セットを作成します (28 行目)。次に、ファイルから各単語を読み取り、その単語がセット内にあるかどうかをテストします (行 35)。そうであれば、プログラムはカウントを 1 増やします (行 36)。
LinkedHashSet、TreeSet、ArrayList、または LinkedList を使用してキーワードを保存するようにプログラムを書き直すことができます。ただし、このプログラムでは HashSet を使用するのが最も効率的です。
以上がケーススタディ: キーワードのカウントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。