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

/**

* @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

//如果发现有重复元素,改变标记状态并结束当次内层循环

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;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值