参考代码:

import java.util.Scanner;

public class 统计字母个数 {

	public static void main(String[] args) {
		// 给定一段文章,请输出每个字母出现的次数
		// 只有一组输入数据,该数据大小<10KB。在文章中除最后一个字符外,只有小写字母、空格和换行符,
		// 没有另外的标点、数字和大写字母等。该文章以’#’结尾。
		Scanner sc = new Scanner(System.in);
		
		int[] arr = new int[26]; // 只有26个字母,所以定义一个长度为26的数组
		
		While:while(sc.hasNext()) { // 给while命名
			String str = sc.nextLine();
			for (int i = 0; i < str.length(); i++) {
				if(str.charAt(i) == '#') { // 如果字符串中有#就结束while循环
					break While;
				}
				if(str.charAt(i) >= 'a' && str.charAt(i) <= 'z') { // 判断是不是字母
					arr[str.charAt(i)-'a']++; // 是字母就在数组对应的位置+1 
								  // 比如这个字母是a,a-a就等于0,就在数组下标为0的位置+1
				}else {
					continue; // 不是字母就跳过
				}
			}
		}
		
		// 输出
		for (int i = 0; i < arr.length; i++) {
			System.out.println((char)(i + 'a') + " " + arr[i]); // i 加上 a 就等于 a,b.....z(要转成字符型)
									    // 比如i等于0时 i+'a'就等于a 
		}
		
	}

}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论