• Java 统计字母个数


    原理:

    1. 将字符串转换成char字符数组
    2. 然后使用另一个数组存储
    1. 代码如下
      
      public class CalChar {
      public static void main(String[] args) {
      	Scanner scanner = new Scanner(System.in);
      	String string = scanner.next();
      	
      	char[] ch = new char[string.length()];
      	int[] nums = new int[26];
      	ch =string.toCharArray();
      	
      	for (int i = 0; i < string.length(); i++) {
      
      		nums[ch[i]-97]=ch[i]-97; //这里较为巧妙,将底层字母ascii码转换成数组下标
      	}
      
      }
      }

    加强版:统计数字,大写字母,小写字母

    
    import java.util.Arrays;
    import java.util.Scanner;
    
    
    public class CalChar {
    	public static void main(String[] args) {
    
    		Scanner scanner = new Scanner(System.in);
    		String string = scanner.next();
    
    		char[] ch = new char[string.length()];
    		int[] lowNum = new int[26];// 小写字母
    		int[] upNum = new int[26];// 大写字母
    		int[] nums = new int[10];// 数字
    		ch = string.toCharArray();
    
    		for (int i = 0; i < string.length(); i++) {
    			// 小写字母 a~z =97 ~(97+26)
    			if (0 <= (ch[i] - 97) && (ch[i] - 97) <= 26) {
    				lowNum[ch[i] - 97]++;
    			}
    			// 大写字母 A~Z =65 ~(65+26)
    			if (0 <= (ch[i] - 65) && (ch[i] - 65) <= 26) {
    				upNum[ch[i] - 65]++;
    			}
    			// 数字 0~9 = 48 ~ (48+26)
    			if (0 <= (ch[i] - 48) && (ch[i] - 48) <= 9) {
    				nums[ch[i] - 48]++;
    			}
    
    		}
    		
    		CalChar calChar = new CalChar();
    		calChar.lowCount(lowNum);
    		System.out.println();
    		calChar.upCount(upNum);
    		System.out.println();
    		calChar.count(nums);
    		
    	}
    
    	public void count(int[] nums) {
    		//数字计数
    		for (int i = 0; i < nums.length; i++) {
    			if (nums[i] != 0) {
    				System.out.print((char)(i+48)+":"+nums[i]+"个"+"	");
    			}
    		}
    	}
    	//小写字母计数
    	public void lowCount(int[] lowNum) {
    		for (int i = 0; i < lowNum.length; i++) {
    			if (lowNum[i] != 0) {
    				System.out.print((char) (i+97) + ":" + lowNum[i] + "个"+"	");
    			}
    		}
    	}
    	//大写字母计数
    	public void upCount(int[] ch) {
    		for (int i = 0; i < ch.length; i++) {
    			if (ch[i] != 0) {
    				System.out.print((char) (i+65) + ":" + ch[i] + "个"+"	");
    			}
    		}
    	}
    }
    
  • 相关阅读:
    更换pip下载源
    django同步数据库时出现错误
    Django Debug Toolbar
    使用Django-environ区分环境
    CDOJ 1591 An easy problem A(ST表)
    for循环06(打印正三角形)
    了解 label 标签 与 goto (不建议使用)
    continue01
    break01
    break 与 continue
  • 原文地址:https://www.cnblogs.com/jeasion/p/10758345.html
Copyright © 2020-2023  润新知