/*题目描述
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。
现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。
输入描述
输入一行包含一个单词,单词只由小写英文字母组成。
对于所有的评测用例,输入的单词长度不超过 1000。
输出描述
输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。
第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数.*/
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s=scan.nextLine();
//创建字典字符串a
String a="abcdefghijklmnopqrstuvwxyz";
//创建对应的字典数组b[]
int[] b=new int[26];
int max=0;
int index=0;
for(int i=0;i<s.length();i++){
b[a.indexOf(s.charAt(i))]++;
}
for(int j=0;j<b.length;j++){
if(b[j]>max){
max=b[j];
index=j;
}
}
System.out.println(a.substring(index,index+1));
System.out.println(max);
}
}
(1)s.charAt(int index),返回调用该方法的字符串s位于指定位置index处的字符
String s="good";
System.out.println(s.charAt(2);//输出o
(2)indexOf()查找字符串在调用该方法的String中首次出现的位置
lastIndexOf()查找字符串在调用该方法的String中最后一次出现的位置
String string = "aaa456ac";
//查找指定字符是在字符串中的下标。在则返回所在字符串下标;不在则返回-1.
System.out.println(string.indexOf("b"));//indexOf(String str);返回结果:-1,"b"不存在
// 从第四个字符位置开始往后继续查找,包含当前位置
System.out.println(string.indexOf("a",3));//indexOf(String str, int fromIndex);返回结果:6
//(与之前的差别:上面的参数是 String 类型,下面的参数是 int 类型)参考数据:a-97,b-98,c-99
// 从头开始查找是否存在指定的字符
System.out.println(string.indexOf(99));//indexOf(int ch);返回结果:7
System.out.println(string.indexOf('c'));//indexOf(int ch);返回结果:7
//从fromIndex查找ch,这个是字符型变量,不是字符串。字符a对应的数字就是97。
System.out.println(string.indexOf(97,3));//indexOf(int ch, int fromIndex);返回结果:6
System.out.println(string.indexOf('a',3));//indexOf(int ch, int fromIndex);返回结果:6
//这个就是灵活运用String类提供的方法,拆分提供的字符串。
//String s = "D:\\Android\\sdk\\add-ons";
//System.out.println(s);
//while (s.lastIndexOf("\\") > 0) {
// s = s.substring(0, s.lastIndexOf("\\"));
// System.out.println(s);
//}
(3)substring()用于获取调用该方法的String的一个字串
substring(int begin)
substring(int begin,int end)
String s="qwerty";
System.out.println(s.substring(3));//输出rty
System.out.println(s.substring(3,4));//输出r,需要注意截取字串的范围是[begin,end)
(4)length()
***注意不要将String的length()方法和数组的length属性相混淆****
(5)用new创建数组对象后,系统将为每个数组元素赋初值,这个初值取决于数组的类型,所有数值型数组元素初值均为0. (P41)布尔型初值为false,如果数组元素类型是类,接口或数组,则元素的初值为null