Scrivi il programma VerticalCrossword
contenente i metodi utili per trovare delle parole nascoste nelle colonne di una matrice.
La classe VerticalCrossword
deve contenere i metodi seguenti:
public static int getMaxWidth(char[][] table)
Ritorna la dimensione della riga più larga (con il maggior numero di colonne) contenuta nella matrice table
.
public static String getColAsString(char[][] table, int col)
Ritorna la stringa ottenuta concatenando tutti i caratteri presenti nella colonna col
della matrice table
. Le righe troppo corte per possedere un carattere nella colonna specificata da col
vengono ignorate. Ad esempio, per la matrice seguente e per col
pari a 3
, il metodo ritorna la stringa "CaNe"
:
c | C | e | C | c | |
c | a | n | a | a | |
c | p | a | N | n | E |
a | e | e | |||
a | b | c | e | e |
public static int searchInCols(char[][] table, String word)
Ritorna l’indice della colonna della matrice table
che contiene la parola word
(non sensibile al caso dei caratteri). Se word
è presente in più colonne, ritorna l’indice della prima ricorrenza. Se nessuna colonna di table
contiene word
, ritorna -1
.
Ad esempio per la parola "cane"
e la matrice seguente il metodo ritorna 3
:
c | C | e | C | c | |
c | a | n | a | a | |
c | p | a | N | n | E |
a | e | e | |||
a | b | c | e | e |
Mentre per questa matrice e "BAU"
ritorna 1
:
G | a | t | t | o | ||
r | b | a | u | |||
R | A | p | U | n | Z | |
r | u | p |
main
Contiene il codice utile a verificare e dimostrare il buon funzionamento di tutti i metodi che hai scritto.