wow ragazzi quante risposte Grazie a tutti!

Allora provo a rispondere a tutti

Il package java.math non ti serve e la classe Math che usi fa parte di java.lang, importato in automatico.
Si è vero, scusa l'ignoranza ma non sono molto esperto

Per la generazione casuale dei numeri ti suggerisco di utilizzare la classe Random

codice:
import java.util.Random;

public class ...
. . .
Random random = new Random();

// CICLO 1
// CICLO 2

a[j][i] = random.nextInt(8);
. . .


In questo modo ti genererà numeri (pseudo)casuali compresi fra 0 e 7 inclusi. Non è chiaro se vuoi includere anche 8 come valore valido (in tal caso diventa .nextInt(9)), ma tieni presente che in ogni caso la tua (int)(Math.random() * 8) non ti restituirà mai 8.
Non ho mai usato la funzione random. Ora me la studio un po' cosi vedo di capire bene come funziona

Noto che nel codice c'è lo stesso errore ripetuto più volte: devi impostare le condizioni di uscita dei cicli con "minore" stretto, non "minore o uguale".
Come sopra, sono ancora un dilettante

Per l'errore di esecuzione, in mancanza di informazioni più dettagliate sull'ambiente operativo, mi associo alla risposta di Lomio: hai impostato il percorso in cui eclipse si aspetta di trovare le classi di esecuzione?
Di che informazioni avete bisogno che ve lo do? Su eslipse non ho impostato nulla ho lasciato tutto cosi com'è Ma eclipse, in passato, mi ha sempre dato errori strani durante la compilazione (guarda sotto)


codice:
import java.util.Random;

public class RandomMatrix {

    private static final int MATRIX_ROWS = 5;
    private static final int MATRIX_COLUMNS = 8;


    public static void main(String[] args){

        // creo la matrice con il numero di righe e colonne definite
        int matrix[][] = new int[MATRIX_ROWS][MATRIX_COLUMNS];

        // creo il generatore di numeri random
        Random random = new Random();

        // cliclo l'array bidimensionale
        for (int i = 0; i < MATRIX_ROWS; i++) {

            for (int j = 0; j < MATRIX_COLUMNS; j++) {

                // genero il numero casuale tra 1 e 8 e lo inserisco nell'array bidimensionale
                matrix[i][j] = random.nextInt(8) + 1;

                // stampo la linea
                System.out.print("[" + matrix[i][j]+ "]");
            }

            // stampo un carriage reutrn
            System.out.print("\n");
        }
    }
}
Anzi tutto grazie per il codice che è molto chiaro e me lo custodirò gelosamente
però quando lo vado a lanciare in eclipse continuano i problemi di cui sopra:
Exception in thread "main" java.lang.NoClassDefFoundError: cal
Caused by: java.lang.ClassNotFoundException: cal
at java.net.URLClassLoader$1.run(URLClassLoader.java: 202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 07)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 48)
Mentre se provo a compilare dal terminale mi da:
MacBook-Pro-15-di-Mauro-Maranoesktop mauromarano$ javac cal.java
cal.java:3: class RandomMatrix is public, should be declared in a file named RandomMatrix.java
public class RandomMatrix {
^
1 error
Vi ringrazio nuovamente per il grande supporto