Если вы не хотите печатать уже напечатанный символ, вам нужно сохранить его где-то, как в Set
, и печатать только тогда, когда Set
не содержит символ, и после печати добавьте егона Set
, поэтому в следующий раз на палатах он не будет напечатан.
Измените свой код на этот,
class Mclass {
public static void main(String[] args) {
Set<String> doneSet = new HashSet<String>();
char[] a = { 'a', 'b', 'c', 'd', 'a', 'b', 'c' };
int count = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
if (a[j] == a[i])
count += 1;
}
if (!doneSet.contains(String.valueOf(a[i]))) {
System.out.println(a[i] + ":" + count);
doneSet.add(String.valueOf(a[i]));
}
count = 0;
}
}
}
Это даст следующий вывод, как вы и предполагали,
a:2
b:2
c:2
d:1