- W tym wypadku zamiast używać try-catch lepiej jest użyć odpowiednich warunków w pętlach.
- W kodzie masz zagnieżdżone pętle, ale nie jest jasne, co chcesz osiągnąć wewnątrz nich.
- Używasz HashSet do przechowywania unikalnych wartości, co jest dobrym pomysłem, ale nie zliczasz wystąpień tych wartości.
Kod z przykładem jak zliczyć unikalne wartości oraz ich wystąpienia:
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
int[][] tab = new int[][] {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{16, 17, 18, 19, 20},
{16, 17, 18, 19, 20},
{16, 17, 18, 19, 20},
{16, 17, 18, 19, 20}
};
// Używamy HashMap do przechowywania unikalnych wartości
Map<Integer, Integer> countMap = new HashMap<>();
for (int i = 0; i < tab.length; i++) {
int lastElement = tab[i][tab[i].length - 1]; // ostatni element w rzędzie
// Zliczanie
countMap.put(lastElement, countMap.getOrDefault(lastElement, 0) + 1);
}
// Wyświetlenie
for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {
System.out.println("Wartość: " + entry.getKey() + ", Liczba wystąpień: " + entry.getValue());
}
}
}
tu możesz znaleźć darmowy kurs Javy dla początkujących: https://codeme.pl/blog/java-dla-poczatkujacych