Ho un nuovo problema ora

Una volta generata la matrice ho bisogno che ogni riga contenga solo numeri diversi (compresi tra 1 e 8) quindi che ogni numero ci sia solo una vota.

Stavo pensando ad un algoritmo del genere:
codice:
import java.util.Random;

public class prova2 {

    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 matrice[][] = 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++) {
            	for(int x=0;x<MATRIX_COLUMNS;x++){
            	
            		do{
                // genero il numero casuale tra 1 e 8 
            			
            	int squadra = (int)(Math.random()*8)+1;
            		}
            		while(matrice[i][j]!=matrice[i][x] && x==j);
            	}
            	matrice[i][j] =squadra;
            	

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

            // stampo un carriage reutrn
            System.out.print("\n");
        }
    }
}
Ma durante la compilazione mi dice
rova2.java:29: cannot find symbol
symbol : variable squadra
location: class prova2
matrice[i][j] =squadra;
^
1 error
L'algoritmo è corretto? Dove sbaglio?