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 | 
mainContiene il codice utile a verificare e dimostrare il buon funzionamento di tutti i metodi che hai scritto.