⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wordcounter.java

📁 用StrinTokenizer类实现的单词统计问题实验
💻 JAVA
字号:
/**
 * 实验7-题目2:单词统计问题,使用2种方法实现
 */
import java.util.StringTokenizer;
import javax.swing.JOptionPane;

public class WordCounter {

    // 求一个字符串数组中最长字符串的长度
    public static int maxStringLen(String[] strs) {
        int maxLen = 0;
        for (int i = 0; i < strs.length; i++) {
            if (strs[i].length() > maxLen) {
                maxLen = strs[i].length();
            }
        }
        return maxLen;
    }

    //显示结果
    public static void displayResult(int[] result) {
        int count = 0;
        System.out.printf("%4s %4s\n", "单词长度", "单词个数");
        System.out.println("------------------");
        for (int i = 0; i < result.length; i++) {
            System.out.printf("%4d  %4d\n", i + 1, result[i]);
            count += result[i];
        }
        System.out.println("------------------");
        System.out.println("合计:" + count);
    }

    //使用Tonkenizer类实现
    public static void countWithTokenizer(String str) {
        StringTokenizer st = new StringTokenizer(str);
        int totalWords = st.countTokens();
        String[] strs = new String[totalWords];
        int i = 0;
        while (st.hasMoreTokens()) {
            strs[i++] = st.nextToken();
        }
        int[] result = new int[maxStringLen(strs)];
        for (i = 0; i < strs.length; i++) {
            result[strs[i].length() - 1]++;
        }
        //输出结果
        displayResult(result);
    }

    //使用String类的split方法实现
    public static void countWithSplit(String str) {
        String[] strs = str.split(" ");
        int[] result = new int[maxStringLen(strs)];
        for (int i = 0; i < strs.length; i++) {
            result[strs[i].length() - 1]++;
        }
        //输出结果
        displayResult(result);
    }

    public static void main(String[] args) {
        String str = JOptionPane.showInputDialog(null, "Input a String",
                "Word Conuter", JOptionPane.QUESTION_MESSAGE);

        System.out.println("使用StringTokenizer处理:");
        countWithTokenizer(str);

        System.out.println("使用String的split方法处理:");
        countWithSplit(str);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -