输入字符串,显示字符串中各个字符出现的次数

    xiaoxiao2021-03-25  101

    输入字符串,显示字符串中各个字符出现的次数

    题目:任意输入一字符串,之后显示该字符串中每个字符出现的次数。

    public class countLetterTest { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Please enter the String:"); String str = input.nextLine(); countLetter(str); input.close(); } public static void countLetter(String s) { char[] ch1 = s.toCharArray(); char[] ch2 = new char[s.length()]; int[] count_number = new int[s.length()]; boolean repeatchar = false; /* * 判断字符和前一个字符是否重复 */ for (int j = 0; j < ch1.length; j++) { for (int i = j - 1; i >= 0; i--) { if (ch1[j] == ch1[i]) { repeatchar = true; break; } } /* *如果不重复的话,则将ch1中 对应的数组存储在ch2中。 */ if (!repeatchar) { ch2[j] = ch1[j]; /* * 统计字符的个数 */ for (int k = j; k < ch1.length; k++) { if (ch2[j] == ch1[k]) { count_number[j]++; } } repeatchar = false; } } for (int j = 0; j < ch2.length; j++) { // if (Character.isLetter(ch2[j]) || Character.isDigit(ch2[j])) System.out.println("char:" + ch2[j] + " is:" + count_number[j]); } } }

    基本的思路: 1、将输入的字符串转化为数组。 2、再创建一个字符数组来储存之前的字符数组中没有重复的字符,并且统计其个数存于另外一个整数数组当中。

    存在的问题: 1、存储无重复的字符的字符数组不能随意的改变大小【以后学习深入之后再作改进】 2、只能显示字符和数字,特殊字符则无法正常显示【后续解决】

    转载请注明原文地址: https://ju.6miu.com/read-25626.html

    最新回复(0)