java找出字符串中出现次数最多的字符和次数
时间: 2023-10-16 14:11:05 浏览: 102
可以使用一个长度为 256 的 int 数组来记录每个字符出现的次数,然后遍历一遍字符串即可找出出现次数最的字符和次数。以下是 Java 代码现:
```
public static void findMostFrequent(String str) {
int[] count = new int[256];
int maxCount 0;
char maxChar = ' ';
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
count[c]++;
if (count[c] > maxCount) {
maxCount = count[c];
maxChar = c;
}
}
System.out.println("最多出现的字符是:" + maxChar);
System.out.println("出现的次数是:" + maxCount);
}
```
你可以把要查找的字符串作为参数传入 `findMostFrequentCharacter` 方法中,该方法会输出出现次数最多的字符和次数。
相关问题
Java 字符串中获取连续出现次数最多的字符
Java字符串中获取连续出现次数最多的字符可以通过使用Map类实现。首先,将输入的字符串的每一个字符作为键,每个字符出现的次数作为值存储在Map中。然后,通过循环找到字符串中每个字符出现的次数,并将其存储在Map中。最后,通过Collections类的max方法获取Map的值的集合,并找出最大的那个值。然后,建立一个Set对象,通过集合的循环,将Map的值放到entry1里,通过entry1找到值最大的maxNum的key。最终输出出现次数最多的字符和最多出现的次数。
代码如下:
```
public static void findMaxChar(String str) {
Map<Character, Integer> map = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char temp = str.charAt(i);
if (map.containsKey(temp)) {
map.put(temp, map.get(temp) + 1);
} else {
map.put(temp, 1);
}
}
int maxNum = Collections.max(map.values());
Set<Character> set = new HashSet<>();
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
if (entry.getValue() == maxNum) {
set.add(entry.getKey());
}
}
System.out.println("出现次数最多的字符为:" + set + ",最多出现次数为:" + maxNum);
}
```
JAVA编写一个程序,找出一个字符串中出现次数最多的字符,并输出该字符及其出现次数。
可以使用HashMap来解决这个问题。遍历字符串中的每个字符,将字符作为键,出现次数作为值存储在HashMap中。最后再遍历HashMap,找出出现次数最多的字符及其出现次数。
下面是一个简单的Java程序示例:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String str = "abcaabbcc";
char mostFrequentChar = findMostFrequentChar(str);
int occurrence = getOccurrence(str, mostFrequentChar);
System.out.println("出现次数最多的字符是:" + mostFrequentChar);
System.out.println("出现次数:" + occurrence); }
public static char findMostFrequentChar(String str) {
Map<Character, Integer> charCountMap = new HashMap<>();
for (char c : str.toCharArray()) {
if (charCountMap.containsKey(c)) {
charCountMap.put(c, charCountMap.get(c) + 1);
} else {
charCountMap.put(c, 1);
}
}
char mostFrequentChar = '\0';
int maxCount = 0;
for (Map.Entry<Character, Integer> entry : charCountMap.entrySet()) {
if (entry.getValue() > maxCount) {
mostFrequentChar = entry.getKey();
maxCount = entry.getValue();
}
}
return mostFrequentChar;
}
public static int getOccurrence(String str, char c) {
int count = 0;
for (char ch : str.toCharArray()) {
if (ch == c) {
count++;
}
}
return count;
}
}
```
在这个示例中,字符串 "abcaabbcc" 中出现次数最多的字符是 'a',出现了 3 次。程序会输出如下结果:
```
出现次数最多的字符是:a
出现次数:3
```