java输入一个字符串,输出字符串中出现次数最多的字符及出现次数
时间: 2024-09-28 16:04:10 浏览: 63
Java统计英文句子中出现次数最多的单词并计算出现次数的方法
在Java中,你可以使用HashMap来存储字符串中每个字符及其出现的次数,然后再找出出现次数最多的字符。下面是一个简单的示例代码:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class MostFrequentChar {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String inputString = scanner.nextLine();
char mostFrequentChar = findMostFrequentChar(inputString);
int frequency = countFrequency(inputString, mostFrequentChar);
System.out.println("出现次数最多的字符是 '" + mostFrequentChar + "',出现了 " + frequency + " 次。");
}
// 函数计算给定字符串中最频繁出现的字符
private static char findMostFrequentChar(String str) {
Map<Character, Integer> charCountMap = new HashMap<>();
for (char c : str.toCharArray()) {
charCountMap.put(c, charCountMap.getOrDefault(c, 0) + 1);
}
char maxKey = str.charAt(0);
int maxVal = charCountMap.values().stream().min().orElse(0);
for (Map.Entry<Character, Integer> entry : charCountMap.entrySet()) {
if (entry.getValue() == maxVal && entry.getKey() != maxKey) {
maxKey = entry.getKey();
}
}
return maxKey;
}
// 函数计算指定字符在字符串中的出现次数
private static int countFrequency(String str, char targetChar) {
int count = 0;
for (char c : str.toCharArray()) {
if (c == targetChar)
count++;
}
return count;
}
}
```
当您运行这个程序,它会请求输入一个字符串,并显示其中出现次数最多的字符以及它的出现次数。
阅读全文