题目内容:
从键盘输入一行中英文混合的文字,统计其中出现的每个英文字母的频率并依字母表顺序,依次输出统计结果,统计时忽略字母大小写的区别。
提示:字母‘A’的编码值为65,字母‘a’的编码值为97.
输入格式:
一行中英文混合的文字
输出格式:
输出每个字母及其出现次数,字母之间用2个空格分隔,最后一个输出后面没空格!
若没有符合条件的字母,则什么也不输出。
输入样例:
我们学习Java,we work very hard!
输出样例:
a=3 d=1 e=2 h=1 j=1 k=1 o=1 r=3 v=2 w=2 y=1
思路一:
new一个长度为26的数组(一共有26个字母,不区分大小写)
用字符串的函数 str.charAt(index) 返回值来筛选出字母,并返回给一个新的字符变量。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String str = in.nextLine();
int arr[] = new int[26]; // 有26个字母,不区分大小写
for ( int i = 0; i<str.length(); i++ )
{
// a~z的ASCII码是 65~90, a~z的ASCII码是 97~122
char c = str.charAt(i);
if (c >= 65 && c <= 90)
{
arr