1、统计字符串中每个字符出现的次数
输入:AAABBCCDDFHIFOWS
输出:
A=3
B=2
C=2
S=1
D=2
F=2
W=1
H=1
I=1
O=1
public class countNum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
countNum.count(s);
}
public static void count(String s){
Map<Character,Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (!map.containsKey(ch)) {
map.put(ch, 1);
} else {
map.put(ch, map.get(ch) + 1);
}
}
for (char c:map.keySet()){
System.out.println(c+"="+map.get(c));
}
}
}
更简洁的代码:
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
Map<Character, Integer> map = new HashMap<Character, Integer>();
char[] arr = s.toCharArray();
for (int i = 0; i < arr.length ; i++) {
map.put(arr[i],!map.containsKey(arr[i])?1:map.get(arr[i])+1);
}
//输出
for(char c:map.keySet()){
System.out.println(c+"="+map.get(c));
}
}
}
2、定义一个58数的规则:数字是[5-8],且长度>=2 的连续字符串
输入一个字符串,输出最长的58数
输入:123456789
输出:5678