Rumah > Java > javaTutorial > teks badan

Kajian Kes: Mengira Kata Kunci

王林
Lepaskan: 2024-07-18 08:05:39
asal
781 orang telah melayarinya

Case Study: Counting Keywords

Bahagian ini membentangkan aplikasi yang mengira bilangan kata kunci dalam fail sumber Java. Untuk setiap perkataan dalam fail sumber Java, kita perlu menentukan sama ada perkataan itu ialah kata kunci. Untuk mengendalikan perkara ini dengan cekap, simpan semua kata kunci dalam HashSet dan gunakan kaedah mengandungi untuk menguji sama ada sesuatu perkataan berada dalam set kata kunci. Kod di bawah memberikan program ini.

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

}

Salin selepas log masuk

Masukkan fail sumber Java: c:Welcome.java
Bilangan kata kunci dalam c:Welcome.java ialah 5

Masukkan fail sumber Java: c:TTT.java
Fail c:TTT.java tidak wujud

Atur cara menggesa pengguna memasukkan nama fail sumber Java (baris 9) dan membaca nama fail (baris 10). Jika fail wujud, kaedah countKeywords digunakan untuk mengira kata kunci dalam fail (baris 15).

Kaedah countKeywords mencipta tatasusunan rentetan untuk kata kunci (baris 26) dan mencipta set cincang daripada tatasusunan ini (baris 28). Ia kemudian membaca setiap perkataan daripada fail dan menguji jika perkataan itu berada dalam set (baris 35). Jika ya, program menambah kiraan sebanyak 1 (baris 36).

Anda boleh menulis semula atur cara untuk menggunakan LinkedHashSet, TreeSet, ArrayList atau LinkedList untuk menyimpan kata kunci. Walau bagaimanapun, menggunakan HashSet adalah yang paling berkesan untuk program ini.

Atas ialah kandungan terperinci Kajian Kes: Mengira Kata Kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!