【发布时间】:2016-03-11 21:48:48
【问题描述】:
我创建了一个 Java 程序来查找字符串中的重复字符并告诉该字符重复了多少次。
我创建了两个具有相同字符的数组,以及两个将第一个数组的第一个元素与第二个数组中的所有字符进行比较的 for 循环,对于第二个元素, 这是我的代码:
Scanner console=new Scanner(System.in);
char[] array=console.next().toCharArray();
char[] array2=array;
int count=0;
char m;
for (int i=0; i<array.length; i++) {
for (int j=0; j<array2.length; j++) {
if (array[i]==array2[j]) {
count=count+1;
} // end if
} //end loop inner
if ( count>=2) {
System.out.println(array[i]+" is duplicated "+count+" times!");
} // end 2nd if
count=0;
} //end outer loop
我的输出示例是: aabb
a is duplicated 2 times!
a is duplicated 2 times!
b is duplicated 2 times!
b is duplicated 2 times!
如您所见,我的问题是,如果一个字符重复两次,它会打印两行,说明它重复了两次,我知道这背后的原因,但我不知道如何解决它!。我不想使用 hashmap,因为到目前为止我只研究过 if/else、循环以及最近关于数组的一些东西,所以如果你的答案在这些主题中,谢谢!
【问题讨论】:
-
你不需要HashMap,你可以用一个整数数组来做,其中数组的索引是字符的ascii值。假设字符集是 ASCII
-
相信我,我真的不明白你说什么,把我当成菜鸟,只有你给我代码,也许我明白
-
我已经用代码和逻辑回答了。
标签: java count return duplicates character