显示char[]数组中出现的每个字符,显示的字符数大于指定的字符数//Java
我正在尝试用Java编写一个方法,该方法将显示char[]数组中出现的每个字符,显示的字符数大于指定的字符数//Java,java,arrays,char,Java,Arrays,Char,我正在尝试用Java编写一个方法,该方法将(char[]abc,char x)作为参数 它应当: a) 检查指定的字符是否出现在数组中,以及在数组中出现的次数。 b) 显示给定字符数组中出现的每个字符的长度超过指定的字符数 方法参数示例 char[] abc={'a','a','a','a','b','b','b','c','c','d','x'}; char x='x'; 欢迎提供所有帮助和提示 这可能会有帮助 public static void countChar(char[] abc
(char[]abc,char x)
作为参数
它应当:
a) 检查指定的字符是否出现在数组中,以及在数组中出现的次数。
b) 显示给定字符数组中出现的每个字符的长度超过指定的字符数
方法参数示例
char[] abc={'a','a','a','a','b','b','b','c','c','d','x'};
char x='x';
欢迎提供所有帮助和提示 这可能会有帮助
public static void countChar(char[] abc, char x){
Map<Character, Integer> map = new HashMap<>();
for(char c: abc){
if(map.containsKey(c))
map.put(c,map.get(c)+1);
else
map.put(c,1);
}
if(map.get(x)!=null){
int count = map.get(x);
System.out.println(x + " exists " + count + " times in char array!");
for(char c: map.keySet()){
if(map.get(c)>count)
System.out.println(c);
}
}else{
System.out.println(x + " does not exist in char array!");
}
}
公共静态void countChar(char[]abc,char x){
Map Map=newhashmap();
用于(字符c:abc){
if(图c)
map.put(c,map.get(c)+1);
其他的
图.put(c,1);
}
if(map.get(x)!=null){
int count=map.get(x);
System.out.println(x+“存在”+count+“字符数组中的次数!”);
for(char c:map.keySet()){
if(map.get(c)>计数)
系统输出打印ln(c);
}
}否则{
System.out.println(字符数组中不存在x+);
}
}
您尝试过什么?你有什么问题吗?我们不会只为你们做家庭作业,简单一点,首先我并不是没试过,我做了一个计数器,这样我就可以计算字符在数组中出现的次数。我的问题是:如何取第一个“a”,数一数,然后在“a”的其余部分不重复…我被绊倒了。你能发布你的代码吗?是的,这解决了问题,但你没有先解决(a)部分。1.它存在吗?如果是,有多少次?2.如果是,那么哪些字符出现得更多。“我仍然对你的问题投了更高的票,但请确实进行这些编辑。”哈里斯纳编辑了答案,以涵盖这两种情况。