Нет ничего плохого в использовании расширенных циклов для обоих циклов:
for (int i : a4) {
for (int j : a4) {
if (i == j) count++;
}
}
Однако , если вы действительно хотите сравнить только отдельные элементы массива с другими элементами, тогда выдействительно нужны индексы, которые идут с обычными for
циклами:
for (int i=0; i < a4.length-1; ++i) {
for (int j=i+1; j < a4.length; ++j) {
if (a4[i] == a4[j]) count++;
}
}
Причина этого в том, что вы не хотите сравнивать, например, первый элемент с первым элементом, потому что он всегда будетправда.