Java 字符串中的字符频率统计

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在 Java 中,String 类提供了多种方法,可用于查找字符频率。replace() 方法、chars() 方法以及自定义循环都可以用于查找字符串中字符的出现次数。在本实验中,我们将使用这些方法来计算 Java 字符串中某个字符的出现次数。

创建一个 Java 文件

~/project 目录下创建一个名为 CharOccurrence.java 的新 Java 文件,并在文本编辑器中打开它。

cd ~/project
touch CharOccurrence.java

使用 replace() 方法

在这一步中,我们使用 replace() 方法来查找字符串中某个字符的出现次数。

public class CharOccurrence {
	public static void main(String[] args){
		String str = "abracadabra-banana";
		System.out.println(str);
		// count occurrence
		int count = str.length() - str.replace("a", "").length();
		System.out.println("occurrence of a: "+count);
	}
}

保存并关闭文件。使用以下命令编译 Java 程序:

javac CharOccurrence.java

使用以下命令执行 Java 程序:

java CharOccurrence

在 Java 8 中使用 chars() 和 filter() 方法

在这一步中,我们使用 chars() 方法返回一个字符流,然后使用 filter() 方法获取字符串中所有指定的字符。count() 方法用于获取过滤后的流的计数。

public class CharOccurrence {
	public static void main(String[] args){
		String str = "abracadabra-banana";
		System.out.println(str);
		// count occurrence
		long count = str.chars().filter(ch -> ch == 'a').count();
		System.out.println("occurrence of a: "+count);
	}
}

保存并关闭文件。使用以下命令编译 Java 程序:

javac CharOccurrence.java

使用以下命令执行 Java 程序:

java CharOccurrence

使用自定义循环

这是一种传统的查找字符串中字符计数的方法。在这里,我们使用循环遍历字符串的每个字符,并通过 charAt() 方法比较字符,该方法返回指定索引处的字符,最后统计匹配目标字符的次数。

public class CharOccurrence {
	public static void main(String[] args){
		String str = "abracadabra-banana";
		System.out.println(str);
		// count occurrence
		int count = 0;
	    for (int i=0; i < str.length(); i++)
	    {
	        if (str.charAt(i) == 'a')
	        {
	             count++;
	        }
	    }
		System.out.println("occurrence of a: "+count);
	}
}

保存并关闭文件。使用以下命令编译 Java 程序:

javac CharOccurrence.java

使用以下命令执行 Java 程序:

java CharOccurrence

总结

在本实验中,我们学习了三种不同的方法来统计 Java 字符串中某个字符的出现次数。我们使用了 replace()chars()filter() 方法,以及自定义循环。所有这些方法都非常易于使用。你可以根据你的需求和场景选择上述任意一种方法。

您可能感兴趣的其他 Java 教程