计算字符出现的次数

来源:互联网 发布:东方航空网络值机 编辑:程序博客网 时间:2024/05/22 08:18
package baidu;import java.util.Arrays;import java.util.Collection;import java.util.Collections;import java.util.Scanner;import org.junit.experimental.max.MaxCore;import org.omg.CORBA.PRIVATE_MEMBER;/** * 测试用例:1.用字符串2.一个字符3.没有重复的字符串4.有重复的字符串5.全是用一个字符 * public char charAt(int index)--返回指定索引处的 char 值。 * @author 2萌 * */public class StringCount {/** * 定义一个新的数组count[],长度为128 * 考虑:为什么要定义一个数组长度为128呢???因为要匹配的字符根据 * ASCII码  是从 0开始的,所以为256个,前128个为常用的字符 如 运算符、字母、数字等键盘上可以显示的; * 后 128个为 特殊字符 是键盘上找不到的字符。 */static int count[] = new int[128];public static void statisticalLetterNumber(char[] ch) {if (null == ch) {System.out.println("字符串为空");return;}//static void fill(int[] a, int val)         // 将指定的 int 值分配给指定 int 型数组的每个元素。 Arrays.fill(count, 0);for (int i = 0; i < ch.length; i++) {int index = (int)ch[i];count[index]++;}for (int i = 0; i < 128; i++) {if (count[i] > 1) {System.out.print((char) i + "=" + count[i] + "  ");}}//max(count);}//private static int max(int[] cl) {////找出数组里面的最大值//int max = count[0];//for (int i = 1; i < count.length; i++) {//if (max < count[i]) {//max = count[i];//}//}////System.out.println(max);//return max;//}public static void main(String[] args) {String string  = "sssddsddsdsmmm";//Scanner scanner = new Scanner(System.in);//String string;//System.out.println("请输入一个字符串");//while ((string = scanner.next()) != null) {//public char[] toCharArray()将此字符串转换为一个新的字符数组。statisticalLetterNumber(string.toCharArray());//}}}

0 0
原创粉丝点击