package java_huaweijishi;
import java.util.*;
/**
* 题目:如果统计的个数相同,则按照ASCII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。
实现以下接口:
输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)
按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出
清空目前的统计结果,重新统计
调用者会保证:
输入的字符串以‘\0’结尾。
输入:输入一串字符。
输出:对字符中的
各个英文字符(大小写分开统计),数字,空格进行统计,
并按照统计个数由多到少输出,如果统计的个数相同,则按照ASII码由小到大排序输出 。
如果有其他字符,则对这些字符不用进行统计。
* @author hexiaoli
* 思路:
* 1)用一个数组统计计数结果,遍历字符,出现字符对应count位置加加
* 2)如果某个字符对应的字符count结果大于max,更新max.
* 3)按照max结果从大到小输出
*/
public class StringCountPrint {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(input.hasNext()){ //表示可以不断输入字符串的的得出结果,即多次测试
String str = input.next();
int max = 0;
int[] count=new int[256];
for(int i=0;i<str.length();i++){
count[str.charAt(i)]++;
if(count[str.charAt(i)]>max){
max=count[str.charAt(i)];
}
}
while(max!=0){
for(int i=0;i<256;i++){
if(count[i]==max){
System.out.print((char)(i));
}
}
max--;
}
System.out.println();
}
}
}
华为机试(101)字符统计
猜你喜欢
转载自blog.csdn.net/hxl0925/article/details/90749011
今日推荐
周排行