概述
代码演示如下:
import java.util.*;
public class Test {
public static void main(String[] args) {
//键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String s = sc.nextLine();
//方法一,用ArrayList集合实现
//定义一个集合,用来存储字符串中的每一个字符
ArrayList<Character> list = new ArrayList<>();
//循环将字符添加到集合中
for (int i = 0; i < s.length(); i++) {
//获取字符串中的每一个字符
char charAt = s.charAt(i);
//将字符添加到集合中
list.add(charAt);
}
//循环统计每一个字符的个数,直到集合长度为0停止
while (list.size() != 0) {
//获取集合的第一个元素
Character element = list.get(0);
//每次循环时集合的初始长度
int a = list.size();
//循环删除与集合中第一个元素相等的元素
for (int i = 0; i < list.size(); i++) {
//判断是否和第一个元素相等
if((element + "").equals(list.get(i).toString())){
//相等则删除
list.remove(i);
//索引前移一位
i--;
}
}
/*或者使用迭代器进行删除
Iterator<Character> iterator = list.iterator();
while (iterator.hasNext()){
if((element + "").equals(iterator.next().toString())){
iterator.remove();
}
}*/
//计算集合原长度和现长度的差值,差为删除元素的个数
int number = a - list.size();
//打印每个元素的个数
System.out.println(element + "共出现了" + number + "次");
}
//方法二,利用Map进行实现
//创建一个Map集合
HashMap<Character, Integer> map = new HashMap<>();
//遍历字符串
for(int i = 0; i < s.length(); i++){
//获取字符串中的每个字符
char c = s.charAt(i);
//将字符添加到Map集合中
//如果map中有该字符,则取出该字符的个数并+1再放入map集合中
if(map.containsKey(c)){
//取出字符的个数
Integer number = map.get(c);
//+1再放入map中
map.put(c, number+1);
}else {//如果map中没有该字符,则放入该字符,个数设为1
map.put(c, 1);
}
}
//打印map
System.out.println(map);
//方法三,利用set集合实现
HashSet<Character> hashSet = new HashSet<>();
//将字符串中的字符添加到hashSet中,达到去重的效果
for (int i = 0; i < s.length(); i++) {
hashSet.add(s.charAt(i));
}
//使用增强for遍历hashSet集合
for (Character character : hashSet) {
//定义一个计数器
int count = 0;
//遍历字符串
for (int i = 0; i < s.length(); i++) {
//判断
if((character + "").equals(s.charAt(i) + "")) {
//相等count+1
count++;
}
}
//打印每个字符出现的个数
System.out.println(character + "共出现了" + count + "次");
}
}
}
最后
以上就是兴奋大地为你收集整理的键盘录入字符串,统计里面每个字符串出现的次数的全部内容,希望文章能够帮你解决键盘录入字符串,统计里面每个字符串出现的次数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复