兰聪


私信TA

用户名:lc2024228712

访问量:3177

签 名:

等  级
排  名 156
经  验 7205
参赛次数 8
文章发表 18
年  龄 0
在职情况 学生
学  校 鄂州职业大学
专  业

  自我简介:

参考代码:

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分

4 人评分

  评论区

  • «
  • »