文字列に出現した回数を文字列に数え、文字と数字を出力したいので、私がしたこと:
import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
String str;
Scanner in = new Scanner(System.in);
System.out.println("enter name");
str = in.nextLine();
char[] c1 = str.toCharArray();
int[] f = new int[str.length()];
for(int i=0;i<str.length();i++) {
for(int j=0;j<str.length();j++) {
if(c1[i]==c1[j]) {
f[i]++;
}
}
}
for(int k=0;k<c1.length;k++) {
for(int l=0;l<c1.length;l++) {
if(c1[k]==c1[l]) {
if(l!=k) {c1[k]=0;f[k]=0;}
}
}
System.out.println(c1[k]+"="+f[k]);
}
}
}
2 つの問題があります
。だから私は重複した文字を削除する別の2つのループ(kとl)を追加しましたが、重複した文字の代わりに印刷されます:四角とゼロ、文字と数字から文字と数字を削除する方法とint配列の?(たとえば、「elichai」という名前を挿入すると、次のようになります:
e=1
l=1
(正方形)=0
c=1
h=1
a=1
i=2
2. 削除する文字は、最初の文字ではなく 2 番目の文字です
(「elichai」の例では、2 番目の 'i' ではなく最初の 'i' が削除されます)。