gpt4 book ai didi

java - 来数数。字符在字符串中出现的次数

转载 作者:行者123 更新时间:2023-12-02 05:25:58 25 4
gpt4 key购买 nike

我已经做到了

public static void main(String[] args) {

int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i1=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z = 0;

/初始化变量并对每个匹配项进行计数。/

    System.out.println("enter the string");
Scanner sc= new Scanner(System.in);
String s1=sc.nextLine();

/我从用户处获取一个字符串作为 i/p

    int a = 0;
for(int i=0;i<(s1.length());i++)
{
if (s1.charAt(i)=='a')

{
a++;
}
if (s1.charAt(i)=='b')

{
b++;
} if (s1.charAt(i)=='c')

{
c++;
} if (s1.charAt(i)=='d')

{
d++;
} if (s1.charAt(i)=='e')

{
e++;
} if (s1.charAt(i)=='f')

{
f++;
} if (s1.charAt(i)=='g')

{
g++;
} if (s1.charAt(i)=='h')

{
h++;
}

if (s1.charAt(i)=='i')

{
i1++;
}
if (s1.charAt(i)=='j')

{
j++;
} if (s1.charAt(i)=='k')

{
k++;
} if (s1.charAt(i)=='l')

{
l++;
} if (s1.charAt(i)=='m')

{
m++;
} if (s1.charAt(i)=='m')

{
m++;
} if (s1.charAt(i)=='n')

{
n++;
} if (s1.charAt(i)=='o')

{
o++;
} if (s1.charAt(i)=='p')

{
p++;
} if (s1.charAt(i)=='q')

{
q++;
} if (s1.charAt(i)=='r')

{
r++;
} if (s1.charAt(i)=='s')

{
s++;
} if (s1.charAt(i)=='t')

{
t++;
} if (s1.charAt(i)=='u')

{
u++;
} if (s1.charAt(i)=='v')

{
v++;
} if (s1.charAt(i)=='w')

{
w++;
}
if (s1.charAt(i)=='x')

{
x++;
} if (s1.charAt(i)=='y')

{
y++;
} if (s1.charAt(i)=='z')

{
z++;
}

/...................................adkjagkdgakjdjakdjg/

}

但不可能再次写入整个 26 个变量进行打印...请向我提出其他选择。

最佳答案

最好的方法是使用 26 元素的 int 数组。让我们初始化 26 个元素的数组:-

int[] array=new int[26];

现在可以认为第0个元素是a,第1个元素是b,依此类推。现在假设我们有字符串 str。现在将字符串迭代到末尾。

for(int i=0;i<str.length();i++)
{
array[str.charAt(i)-'a']++; //Storing occurrence of characters in array
}

现在我们在数组中出现了字符,只需迭代数组即可获取所有值的打印。

for(int i=0;i<26;i++)
{
char ch=(char)('a'+i);
System.out.println(ch+":"+array[i]);
}

或者如果您只想打印出现的字符:-

for(int i=0;i<26;i++)
{
char ch=(char)('a'+i);
if(array[i]>0)
System.out.println(ch+":"+array[i]);
}

关于java - 来数数。字符在字符串中出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26013593/

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