Olá será que alguem pode me ajudar, estou com um problema e não consigo resolver, preciso gerar uma cartela de bingo com 3 linhas e nove colunas, cada linha precisa ter 5 numeros aleatorios com 5 posições aleatorias tb, até ai tudo bem mas nao consigo fazer gerar de 1 a 90 somente de 0 a 90 fiz 3 arrays e cada um não pode ter os mesmos numeros dos outros segue o código alguém me ajuda?
public class Bingo {
public static void main(String[] args) {
int [] row = new int [9];
int [] row2 = new int [9];
int [] row3 = new int [9];
int p;
int v;
Random random = new Random();
int p1 = random.nextInt(7 - 1 + 1);
int p2 = random.nextInt(7 - 1 + 1);
int p3 = random.nextInt(7 - 1 + 1);
int p4 = random.nextInt(7 - 1 + 1);
int p5 = random.nextInt(7 - 1 + 1);
int posi1 = random.nextInt(7 - 0 + 1);
int posi2 = random.nextInt(7 - 0 + 1);
int posi3 = random.nextInt(7 - 0 + 1);
int posi4 = random.nextInt(7 - 0 + 1);
int posi5 = random.nextInt(7 - 0 + 1);
int posii1 = random.nextInt(7 - 0 + 1);
int posii2 = random.nextInt(7 - 0 + 1);
int posii3 = random.nextInt(7 - 0 + 1);
int posii4 = random.nextInt(7 - 0 + 1);
int posii5 = random.nextInt(7 - 0 + 1);
int v1 = random.nextInt( ((p1*10)+10) - ((p1*10)+1) ) + ((p1*10)+1)+1;
int v2 = random.nextInt( ((p2*10)+10) - ((p2*10)+1) ) + ((p2*10)+1)+1;
int v3 = random.nextInt( ((p3*10)+10) - ((p3*10)+1) ) + ((p3*10)+1)+1;
int v4 = random.nextInt( ((p4*10)+10) - ((p4*10)+1) ) + ((p4*10)+1)+1;
int v5 = random.nextInt( ((p5*10)+10) - ((p5*10)+1) ) + ((p5*10)+1)+1;
int v6 = random.nextInt( ((posi1*10)+10) - ((posi1*10)+1) ) + ((posi1*10)+1)+1;
int v7 = random.nextInt( ((posi2*10)+10) - ((posi2*10)+1) ) + ((posi2*10)+1)+1;
int v8 = random.nextInt( ((posi3*10)+10) - ((posi3*10)+1) ) + ((posi3*10)+1)+1;
int v9 = random.nextInt( ((posi4*10)+10) - ((posi4*10)+1) ) + ((posi4*10)+1)+1;
int v10 = random.nextInt( ((posi5*10)+10) - ((posi5*10)+1) ) + ((posi5*10)+1)+1;
int v11 = random.nextInt( ((posii1*10)+10) - ((posii1*10)+1) ) + ((posii1*10)+1)+1;
int v12 = random.nextInt( ((posii2*10)+10) - ((posii2*10)+1) ) + ((posii2*10)+1)+1;
int v13 = random.nextInt( ((posii3*10)+10) - ((posii3*10)+1) ) + ((posii3*10)+1)+1;
int v14 = random.nextInt( ((posii4*10)+10) - ((posii4*10)+1) ) + ((posii4*10)+1)+1;
int v15 = random.nextInt( ((posii5*10)+10) - ((posii5*10)+1) ) + ((posii5*10)+1)+1;
row[ p1 ] = v1;
row[ p2 ] = v2;
row[ p3 ] = v3;
row[ p4 ] = v4;
row[ p5 ] = v5;
row2[ posi1 ] = v6;
row2[ posi2 ] = v7;
row2[ posi3 ] = v8;
row2[ posi4 ] = v9;
row2[ posi5 ]= v10;
row3[ posii1 ] = v11;
row3[ posii2 ] = v12;
row3[ posii3 ] = v13;
row3[ posii4 ] = v14;
row3[ posii5 ]= v15;
System.out.println(Arrays.toString(row)+"\t"+"\n"+ Arrays.toString(row2)+
"\t"+"\n"+ Arrays.toString(row3) );
}
}