输入一个字符串,查找出出现次数最多的字符
。输入一个字符串,查找出出现次数最多的字符
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 4 System.out.println("请输入一个字符串:"); 5 String str = new Scanner(System.in).next(); 6 int[] a = new int[127]; 7 char maxChar = 0; 8 int max = 0; 9 for(int i=0; i<str.length(); i++){ 10 char c = str.charAt(i); 11 if(++a[c] > max){ 12 max = a[c]; 13 maxChar = c; 14 } 15 } 16 System.out.println(maxChar + " 出现了 " + max + " 次"); 17 }
这里需要注意的知识点是:
1. 根据索引查找字符串中相应的字符
charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法.
charAt()方法返回指定索引位置的char值。
索引范围为0~length()-1.
如: str.charAt(0)检索str中的第一个字符, str.charAt(str.length()-1)检索最后一个字符.
例如:
String str = abcdefg;
str.charAt(0) = a ;
str.charAt( str.length() -1) = g ;
2. 数组解析
int [] a = new int[127]
定义了一个 数组 a[ ];
数组 a[ ] 的长度是 0~126; a[0]~a[126]
数组中 每个位置的值都为 0; a[0] == a[126] == 0;
++a[0] == 1; <==> ++(a[0]) <==> ++(0) ==1;