美文网首页
Java不用集合实现统计字符串里每个字符出现次数

Java不用集合实现统计字符串里每个字符出现次数

作者: AncientJazz | 来源:发表于2019-05-28 23:39 被阅读0次
/**
 * @author Ancient Jazz
 * @create 2019-05-28 19:30
 **/
public class String_Count_Array {
    public static void main(String[] args) {
        String str = new Scanner(System.in).nextLine();
        char[] chars = str.toCharArray();
        int count=0;
        //数组去重,用于结果输出
        Object[] objects = ifRepeat(chars);
        for (char c : chars) {
            for (Object object : objects) {
                count=count(chars, (Character) object);
                System.out.println(object+"输出"+count+"次");
            }
            break;
        }
    }

    private static int count(char[] chars, char c) {
        int count=0;
        for (char b : chars) {
            if (c==b){
                count++;
            }
        }
        return count;
    }

    //去重方法借鉴作者:花和尚也有春天
    //来源:CSDN
    //原文:https://blog.csdn.net/weixin_38750084/article/details/84196256
    //版权声明:本文为博主原创文章,转载请附上博文链接!
    private static Object[] ifRepeat(char[] arr){
        //用来记录去除重复之后的数组长度和给临时数组作为下标索引
        int t = 0;
        //临时数组
        Object[] tempArr = new Object[arr.length];
        //遍历原数组
        for(int i = 0; i < arr.length; i++){
            //声明一个标记,并每次重置
            boolean isTrue = true;
            //内层循环将原数组的元素逐个对比
            for(int j=i+1;j<arr.length;j++){
                //如果发现有重复元素,改变标记状态并结束当次内层循环
                if(arr[i]==arr[j]){
                    isTrue = false;
                    break;
                }
            }
            //判断标记是否被改变,如果没被改变就是没有重复元素
            if(isTrue){
                //没有元素就将原数组的元素赋给临时数组
                tempArr[t] = arr[i];
                //走到这里证明当前元素没有重复,那么记录自增
                t++;
            }
        }
        //声明需要返回的数组,这个才是去重后的数组
        Object[]  newArr = new Object[t];
        //用arraycopy方法将刚才去重的数组拷贝到新数组并返回
        System.arraycopy(tempArr,0,newArr,0,t);
        return newArr;
    }

}

相关文章

网友评论

      本文标题:Java不用集合实现统计字符串里每个字符出现次数

      本文链接:https://www.haomeiwen.com/subject/yrsstctx.html