Java获取字符串中字母出现的个数

已有字符串str1="sdfg,hellozx,sdfcv-waadfa,fsasdfxcvdf"键盘输入任意字符串,例如:Stringstr2="HaHahello01... 已有字符串str1="sdfg,hellozx,sdfcv-waadfa,fsasdfxcvdf"
键盘输入任意字符串,例如:String str2="HaHahello01",
在原来字符串str1中去掉str2中最大的交集字符串(hello)后, 获取该字符串str1中的每个字母出现的次数。

例如:去掉hello后

以这种方式打印:字母按从大到小排序
输出:

x(出现2次)w(出现1次)v(出现2次)s(出现4次)g(出现1次)f(出现6次)d(出现5次)c(出现2次)
不按从大到小,按字母出现次数排序
输出:
f(出现6次)d(出现5次)s(出现4次)x(出现2次)v(出现2次)c(出现2次)w(出现1次)g(出现1次)
展开
 我来答
拥抱每一天哦
2023-03-15 · TA获得超过267个赞
知道小有建树答主
回答量:751
采纳率:79%
帮助的人:71.7万
展开全部
以下是Java获取字符串中字母出现的个数的示例代码:

```java
import java.util.HashMap;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String input = sc.nextLine();

HashMap<Character, Integer> map = new HashMap<>();
for (char c : input.toCharArray()) {
if (Character.isLetter(c)) {
if (map.containsKey(c)) {
map.put(c, map.get(c) + 1);
} else {
map.put(c, 1);
}
}
}

for (char key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
}
}
```

首先,使用 `Scanner` 获取用户输入的字符串并存储在 `input` 变量中。然后使用 `HashMap` 对每个字母出现次数进行计数,其中 `for` 循环遍历输入字符串中的每个字符,`Character.isLetter(c)` 判断字符是否为字母,如果是则判断其是否已经存在于 `map` 中,若存在则将其出现次数加一,否则将其加入到 `map` 中并将出现次数置为 1。

最后,遍历 `map` 中的元素,并输出每个字母及其出现次数。
匿名用户
推荐于2017-09-18
展开全部
import java.util.HashMap;
import java.util.Set;
import java.util.concurrent.CyclicBarrier;
public class TestStrNumber {
private static String str1 = "sdfg,hellozx,sdfcv-waadfa,fsasdfxcvdf";
public static void main(String[] args) {
String ss=getUnmatchStr("hello");
getCharNum(ss);
}
public static void getCharNum(String ss){
String sb="";
for (int i = 0; i < ss.length(); i++) {
if (ss.charAt(i)!='-'&&ss.charAt(i)!=',') {
sb+=ss.charAt(i);
}
}
char[] cs=sb.toCharArray();
int oldNum=0;
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
for (char c : cs) {
if (map.containsKey(c)) {
oldNum=map.get(c);
map.put(c, oldNum+1);
}else {
map.put(c, 1);
}
}
Set<Character> keys = map.keySet();
for(Character c:keys){
System.out.print(c+"(出现"+map.get(c)+"次)");
}
}
public static String getUnmatchStr(String s){
String str2="";
int startIndex=0;
int endIndex=0;
if (str1.contains(s)) {
startIndex = str1.indexOf(s);
endIndex=startIndex+s.length();
}
str2 = str1.substring(0, startIndex)+str1.substring(endIndex, str1.length());
return str2;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zoujy1022
2013-04-16 · TA获得超过1121个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:629万
展开全部
public static void main(String[] args) {
String s = "abc a bc abc bc abc";
Map<String,Integer> map = new HashMap<String,Integer>();
for(String str : s.split("|")){
if(map.containsKey(str)){
map.put(str, map.get(str)+1);
}else{
map.put(str, 1);
}
}
for(Entry<String,Integer> e : map.entrySet()){
System.out.println(e.getKey() +": "+e.getValue()+"个");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鱼得水号
2013-04-16 · 聚爱水族生活馆,让你的生活如鱼得水
鱼得水号
采纳数:585 获赞数:3014

向TA提问 私信TA
展开全部
这个有什么难度呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式