Mam za zadanie wyświetlić tablicę bez zduplikowanych elementów. Mój kod teoretycznie powinien działać, jednak oczywiście tak nie jest.
public class test2 { public static void main(String[] args) { int[] arr = { 2,3,4,3,2,6,3,6,8,2,9 }; for (int i = 0; i < arr.length; i++){ for(int a = i+1; a< arr.length; a++){ if(arr[i] == arr[a]){ if(i != a){ //System.out.println(a); System.out.println(arr[i]); } } } } } }
1. Przepuszczam tablicę przez pierwszą pętle for w celu uzyskania indeksów i każdego kolejnego elementu
2. Przepuszczam tablicę przez drugą pętlę for, gdzie tworzę zmienną a, która ma być zawsze większa od i
3. Porównuje porównuje arr[i] z arr[a]
4. Każę elementy tablicy dla każdego indeksu i nie równego a, czyli nie równego zduplikowanemu elementowi tablicy
W momencie gdy wypisuje same indeksy, są one w zasadzie prawidłowe (jeden, index 6 wypisuje się 2x nie wiem dlaczego), ale poza tym wszystko się zgadza. Są to indexy duplikatów. Ale potem, gdy próbuje wypisać tablicę bez tych duplikatów, wychodzi po prostu misz-masz.
Czy mogę prosić o wytknięcie mi błędu w rozumowaniu oraz nakierowaniu na właściwe rozwiązanie? W zadaniu nie wolno używać pomocniczych tablic, kolekcji i stringów oraz klas nie należących do standardu java.lang...