Scrivi il programma MatrixMerger contenente i metodi utili per combinare tra loro due matrici di interi.
La classe MatrixMerger deve contenere i metodi seguenti:
public static int getRowWidth(int[][] m, int row)Ritorna la larghezza (il numero di colonne) della riga row nella matrice m. Se la riga specificata è vuota oppure non è valida, ritorna 0.
public static int getMaxWidth(int[][] a, int[][] b)Ritorna la dimensione della riga più larga che si otterrebbe combinando ogni riga di a con la rispettiva riga di b. Ossia, calcola la somma tra la dimensione di ogni riga della matrice a con la rispettiva riga della matrice b e ritorna il valore massimo.
public static int[][] merge(int[][] a, int[][] b)Ritorna una matrice rettangolare ottenuta combinando le matrici a e b. La combinazione avviene concatenando ogni riga di a con la rispettiva riga di b. La nuova matrice avrà un numero di righe pari a quello della matrice più alta tra a e b ed un numero di colonne pari a quella della riga più larga prodotta dalla concatenazione (larghezza massima di a e b). Ad esempio:
| 1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 | ||||||||||
| 1 | 2 | 3 | 4 | + | 5 | 6 | = | 1 | 2 | 3 | 4 | 5 | 6 | ||||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 |
Se presenti, le celle in eccesso di ogni riga conterranno il valore 0, ad esempio:
| 1 | 1 | 1 | 5 | 5 | 5 | 1 | 1 | 1 | 5 | 5 | 5 | ||||||||
| 2 | 2 | 2 | + | 6 | 6 | 6 | = | 2 | 2 | 2 | 6 | 6 | 6 | ||||||
| 3 | 7 | 7 | 7 | 7 | 3 | 7 | 7 | 7 | 7 | 0 | |||||||||
| 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 |
mainContiene il codice utile a verificare e dimostrare il buon funzionamento di tutti i metodi che hai scritto.