Ciao ragazzi, avrei bisogno di un aiuto con un esercizio (sono ancora un super novellino in Java
)
in pratica ho un Array char e devo creare un metodo che restituisca un nuovo Array, con gli stessi valori del precedente, ma senza i duplicati. l'esercizio suggerisce di utilizzare un Array booleano per tenere traccia dei caratteri da mantenere così da determinare la lunghezza del nuovo Array. Sulla base di ciò e sperando di aver compreso il "suggerimento" ho proceduto come segue:
codice:
public class noDuplicati {
public static void main(String[] args) {
char[] carattere = {'a','b','a','c','c','b'};
int count = 0;
boolean[] bArray = {true,true,true,true,true,true};
for(int i = 0; i < carattere.length - 1; i++) {
int j = i + 1;
int n = j;
for(j = n; j < carattere.length; j++) {
if(carattere[i] == carattere[j]) {
bArray[j] = false;
}
}
}
for(int i = 0; i < bArray.length; i++) {
if(bArray[i] == true) {
count++;
}
}
char[] nuovoArray = rimuoviDuplicati(carattere, bArray, count);
System.out.print(nuovoArray);
}
public static char[] rimuoviDuplicati(char[] unArray, boolean[] altroArray, int lunghezzaArray) {
int count = lunghezzaArray;
char[] nuovoArray = new char[count];
//CODICE PER RIEMPIRE IL NUOVO ARRAY
}
return nuovoArray;
}
}
Ho provveduto ad assegnare i valori false all'Array ogni volta che trova un duplicato, quindi nel caso sopra l'array booleano diventa: {true, true, false, true, false, false} restituendo 4 come lunghezza per il nuovo array.
Ma adesso mi sono bloccato e non so come riempire il nuovo Array.
Vi ringrazio e perdonatemi ancora se ci sono grossi errori o buchi