package day07;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
public class TongJiZiFuGeShu {
/**
* @param str
* @param args
* 计数给I定字符串中每个元素的出现次数
*/
public void countChrNum(String str) {
char[] stch = str.toCharArray();// 先转换成字符串数组
Arrays.sort(stch);// 进行排序
String str2 = new String(stch);// 再转换成String字符串
HashMap<Character, Integer> count = new HashMap<Character, Integer>();
for (int i = 0; i < str2.length(); i++) {
char ch = str2.charAt(i);
int begin = str2.indexOf(ch);// 获取出现给定字符的第一个索引
int end = str2.lastIndexOf(ch);// 获取出现给定字符出现的最后一个下标索引
if (count.containsKey(ch)) {// 判断是否已近存在这样一个键
} else {
count.put(ch, end - begin + 1);// 每次循环都进行记录
}
}
Iterator itr = count.keySet().iterator();// 迭代出count中的键值
while (itr.hasNext()) {// 判断是否还有下一个元素
Object key = itr.next();// 让key每次都等于下一个元素的键值
System.out.println(key + "出现了:" + count.get(key));// 根据键值输出
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "qqqwwwuuuuuu";
TongJiZiFuGeShu countstr = new TongJiZiFuGeShu();
countstr.countChrNum(str);
}
}
//另外一种方法
package day02work;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class Statistcs_Word {
/**
* 统计一串字符串中每个字符出现的次数
*
* @param args
*/
public static void getNumber(String str) {// 单独定义一个方法来得到,字符出现次数
int notWord = 0;// 用来计数字符出现次数
int c = str.length();// 得到传入字符串的长度,后面用于循环计数用
String word = "";// 接收非字母非数字的字符
String words = "";// 接收字母和数字
for (int i = 0; i < c; i++) {// 将字母和数字与其他字符分离
if (!(str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')
&& !(str.charAt(i) >= 'a' && str.charAt(i) <= 'z')
&& !(str.charAt(i) >= '0' && str.charAt(i) <= 9)) {
notWord++;// 计数不是字母和数字的字符
} else {
word += str.charAt(i);// 将是字符和数字的字符重新连接
}
}
Map<Character, Integer> outmu = new TreeMap<Character, Integer>();// 使用"键-值",这样可以接收出现的字符,也可以接收出现次数
for (int j = 0; j < word.length(); j++) {
int countWord = 0;
for (int i = 0; i < word.length(); i++) {
if (word.charAt(j) == word.charAt(i)) {
countWord++;
}
}
outmu.put(word.charAt(j), countWord);
}
Iterator itr = outmu.keySet().iterator();
while (itr.hasNext()) {
Object key = itr.next();
System.out.println(key + "出现" + outmu.get(key) + "次");
}
System.out.println();
System.out.println("非字母非数字的有:" + notWord + "个");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Statistcs_Word.getNumber("abbcccddd");
}
}
分享到:
相关推荐
一个统计字符串中每个字符出现次数并排序的工具,统计一段字符中出现次数最多的字。
使用java统计字符串中每个字符出现的次数,尤其是笔试题或者上机最容易考。 需要统计的字符串:aBbcddedfadg准备开始统计每个字符出现的次数... f:1次;g:1次;d:4次;e:1次;b:1次;c:1次;B:1次;a:2次;
本文实例讲述了JavaScript统计字符串中每个字符出现次数的方法。分享给大家供大家参考,具体如下: 这是一个面试题,要求随便给你一个字符串,让你求出字符串中每个字符出现的次数。 先来看看运行效果截图: 具体...
字符串统计函数,统计不同字符个数和每个字符出现的次数。用一个简单的数据结构做的,注释很清楚。
统计某个字符串中大小写字母A或a出现的次数java 5count.rar
统计一个字符串中每个字符出现的次数 通过集合的contains方法判断集合当中是否已经保存该字符 |-false:将取出的字符串存储到list当中 |-true:将字符对应的次数+1。
有如下的一个字符串 String str = “QWERTYUIQQQWJHDAADADBBBBCAD”;... 请统计出其中每一个字母出现的次数,在控制台打印如下的格式: A----3 B----4 C----1 D----2 请打印出字母次数最多的那一对
输出该字符串中每个出现过的数字,然后在冒号“:”后面输出该数字出现的次数。按数字大小,从小到大的顺序输出。一行输出一个数字及其出现次数。没有出现过的数字不输出。 Sample Input ldksfj857ld*&%&^000 ...
统计字符出现的次数
4-1-7 统计字符串列表中每个字母出现的次数.py
(2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 (4)存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围: 可以输入大写、小写的英文...
得出一个字符串中的连续出现次数最多的子串
Java实现统计一个文本文件中每一行字符串出现的次数,Java实现统计一个文本文件中每一行字符串出现的次数
使用Java编程语言统计一个字符串中数字、...通过以上步骤,我们可以实现一个简单的程序,用于统计字符串中数字、汉字、字母和其他字符的出现次数。这个程序对于学习Java编程语言和字符串处理技术具有一定的参考价值。
输入一个字符串,统计出这个字符串的英文大写字母、小写字母、数字、空格以及其它字符的个数
读取txt文件,统计“java”字符串出现的次数
在该程序中,我们定义了一个`countCharacter`函数来统计字符串中特定字符的出现次数。该函数接收三个参数:一个指向字符串的指针`str`、要统计的字符`ch`和用于存储出现次数的整数指针`count`。在函数中,我们首先将...
获取一个文本上每个字符出现的次数,将结果写在times.txt上