Ciao a tutti, ho creato una metodo in java che prese a parametro due stringhe (testo, pattern) tramite suffix automa mi stampa il numero di occorrenze del pattern nel testo; il metodo funziona perfettamente e da gli output corretti.
Ora dovrei creare un metodo che prese a parametro sempre le due stringhe mi stampi il landscape delle stesse (ossia una matrice bidimensionale, che rappresenta il numero di volte in cui le sottostringhe della stringa di destinazione si verificano in una stringa di origine).
Non riesco a creare questa matrice bidimensionale che deve avere nella prima riga i valori delle occorrenze delle sottostringhe di lunghezza 1, nella seconda riga i valori delle occorrenze delle sottostringhe di lunghezza 2 fino ad arrivare in cima all'intera sottostringa.
Posto il codice
Qualcuno mi può aiutare?
public static void generateLandscape(String sequence1, String sequence2) {
int d = 0;
String c = null;
int start = 0;
//Estraggo fattori di lunghezza 1
for(int i = 1; i<=sequence2.length();i++) {
c = sequence2.substring(start, i);
start = start +1;
System.out.println(c);
d=printAllPositionsOfOccur1(sequence1, c);
System.out.println(d);
}
Dentro il ciclo for il medoto printAllPositionsOfOccur1(sequence1, c) mi stampa i valori delle occorrenze sbagliati (come se li sommasse tutti)
In allegato l'output che vorrei ottenere