Ciao ragazzi, stavo scrivendo un programma per la scuola e ho riscontrato un problema in questo straccio di programma:
int[] interr = new int[dim1];
for (i=0;i<interr.length;i++){
interr=(int)(Math.random()*23);
for (b=0;b<interr.length;b++){
while (interr==0 || interr==interr) {
interr=(int)(Math.random()*23);
}
}
Praticamente devo generare dei numeri fino ad un massimo di 23 e stamparli, non facendo uscire nessun "doppio numero" oppure il numero 0, quindi ho pensato di mettere un ciclo for all'interno del ciclo for dove assegna dei numeri casuali all'interno dell'array "interr", e con questo secondo ciclo for controlla se è gia presente nell'array e in tal caso ne genera altri affinchè sia diverso
sapete dirmi dove sbaglio? perchè continua a generarmi numeri uguali
int[] interr = new int[dim1];
for (i=0;i<interr.length;i++){
interr=(int)(Math.random()*23);
for (b=0;b<interr.length;b++){
while (interr==0 || interr==interr) {
interr=(int)(Math.random()*23);
}
}
Praticamente devo generare dei numeri fino ad un massimo di 23 e stamparli, non facendo uscire nessun "doppio numero" oppure il numero 0, quindi ho pensato di mettere un ciclo for all'interno del ciclo for dove assegna dei numeri casuali all'interno dell'array "interr", e con questo secondo ciclo for controlla se è gia presente nell'array e in tal caso ne genera altri affinchè sia diverso
sapete dirmi dove sbaglio? perchè continua a generarmi numeri uguali