gpt4 book ai didi

java - 如何统计数组中元素出现的次数?

转载 作者:行者123 更新时间:2023-11-30 03:47:49 26 4
gpt4 key购买 nike

我编写了一个类,如下所示

 public class Countletter 
{
public static void main(String args[]) throws IOException
{
String str = "muhammed";
char[] Array = str.toCharArray();

for(int i=0;i<8;i++)
{
int count=1;
for(int j=i+1;j<8;j++)
{
if(Array[i]==(Array[j]))
{
count++;
}
}
System.out.println(""+Array[i]+":"+count);
}
}
}

输出应该是,

Input  : Muhammed

output : m=3
u=1
h=1
a=1
d=1

但是我的代码打印如下

    output :  m:3
u:1
h:1
a:1
m:2
m:1
e:1
d:1

有人知道我的错在哪里吗?如果有人知道这个逻辑请帮助我

最佳答案

错误是循环不会跳过已经计数的项目,例如 for m 外循环执行时

i=0 and gives count 3 for positions 0,4,5
i=4 and gives count 2 for positions 4,5
i=5 and gives count 1 for position 5

为了防止再次复制它们,您可以将它们替换为空格或任何特殊字符,如下所示。

public class Countletter 
{
public static void main(String args[]) throws IOException
{
String str = "muhammed";
char[] Array = str.toCharArray();

for(int i=0;i<8;i++)
{
if(Array[i]!=' '){
int count=1;
for(int j=i+1;j<8;j++)
{
if(Array[i]==(Array[j]))
{
count++;
Array[j]=' ';
}
}
System.out.println(""+Array[i]+":"+count);
}
}
}
}

关于java - 如何统计数组中元素出现的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25184589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com