当前位置 : 主页 > 编程语言 > java >

java 判断一句话中正常的文字不重复数

来源:互联网 收集:自由互联 发布时间:2023-09-06
判断一句话中正常的文字不重复数 在日常生活中,我们经常需要对一句话中的文字进行统计和分析。其中一个常见的需求就是判断一句话中正常的文字不重复数。本文将介绍使用Java编

判断一句话中正常的文字不重复数

在日常生活中,我们经常需要对一句话中的文字进行统计和分析。其中一个常见的需求就是判断一句话中正常的文字不重复数。本文将介绍使用Java编写程序来实现这一功能,并通过代码示例和图表展示来进一步说明。

1. 问题描述

给定一句话,我们需要统计出这句话中正常的文字(即除了特殊字符和数字之外的字符)的不重复数。例如,对于句子"hello world!",正常的文字是"hello"和"world",不重复数为2。

2. 解决方案

为了解决这个问题,我们可以使用Java的字符串处理方法和数据结构来实现。

首先,我们需要将句子中的特殊字符和数字去除,只保留正常的文字。可以使用正则表达式来匹配和替换非文字字符。以下是一个示例代码:

String sentence = "hello world!";
String normalText = sentence.replaceAll("[^a-zA-Z ]", "");

在上述代码中,我们使用了replaceAll方法和正则表达式[^a-zA-Z ]来替换非文字字符为空字符串。这样我们就得到了去除特殊字符和数字的句子。

接下来,我们需要将句子拆分成单词,并将每个单词进行统计。可以使用Stringsplit方法来拆分句子。以下是一个示例代码:

String[] words = normalText.split(" ");

在上述代码中,我们使用空格作为分隔符来拆分句子,得到一个包含所有单词的数组。

最后,我们使用Java的集合类来统计每个单词的出现次数,并计算不重复数。可以使用HashMap来实现单词和出现次数的映射关系。以下是一个示例代码:

Map<String, Integer> wordCount = new HashMap<>();
for (String word : words) {
    wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
}

int uniqueCount = wordCount.size();

在上述代码中,我们遍历单词数组,使用getOrDefault方法来获取单词的出现次数,如果单词不存在则默认为0,然后将出现次数加1并更新到wordCount中。最后,我们使用size方法获取wordCount的大小,即不重复数。

3. 完整示例代码

下面是一个完整的示例代码,演示了如何实现判断一句话中正常的文字不重复数的功能:

import java.util.HashMap;
import java.util.Map;

public class WordCounter {
    public static void main(String[] args) {
        String sentence = "hello world!";
        String normalText = sentence.replaceAll("[^a-zA-Z ]", "");
        String[] words = normalText.split(" ");

        Map<String, Integer> wordCount = new HashMap<>();
        for (String word : words) {
            wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
        }

        int uniqueCount = wordCount.size();
        System.out.println("Unique count: " + uniqueCount);
    }
}

4. 序列图

下面是使用Mermaid语法绘制的序列图,展示了程序的执行流程:

sequenceDiagram
    participant 用户
    participant 程序

    用户 ->> 程序: 输入句子
    程序 ->> 程序: 去除特殊字符和数字
    程序 ->> 程序: 拆分句子成单词
    程序 ->> 程序: 统计单词出现次数
    程序 ->> 程序: 计算不重复数
    程序 -->> 用户: 输出不重复数

在上述序列图中,用户输入句子后,程序按照前面介绍的步骤进行处理并输出不重复数。

5. 甘特图

下面是使用Mermaid语法绘制的甘特图,展示了程序各个步骤的执行时间:

gantt
    dateFormat  YYYY-MM-DD
【本文由:香港云服务器 http://www.558idc.com/ne.html网络转载请说明出处】
上一篇:java 获取系统斜线
下一篇:没有了
网友评论