Ciao, provo a spiegarti quello che ho capito da questo codice:
Tuttavia, io l'avrei implementata in modo diverso questa cosa...mi sembra più comprensibile e pulito:
Java:
import java.util.Random;
public class Main {
public static void main(String[] args) {
int max = 99; //Inizializzo il massimo
int min = 10; //Inizializzo il minimo
int numeriGenerati=1; //Variabile utilizzata per capire dove scrivere i numeri pari,questo programma lo fa in tutte le posizioni pari dell'array
int numeri[] = new int[10]; //Creo un array di numeri interi, la cui dimensione è pari a 10
for (i=0; i<10; i++) {
numeri[i] = random.nextInt(max-min)+min; //Genero numeri sempre nell'intervallo tra min e max
if (numeri[i]%2 == 0) { //Se il numero è pari questa operazione è come se annullasse l'iterazione corrente perché riporta indietro l'indice della i e alla successiva iterazione questo valore viene sovrascritto da quello giusto
i = i-1;
} else {
if (numeriGenerati%2 == 0) {//Controllo tramite la variabile che ti ho detto prima se mi trovo nella posizione giusta per scrivere un numero pari
numeri[i] = numeri[i] + numeri[i-1]; //Sommando numeri dispari ottengo sempre uno pari
}
numeriGenerati++; //Incremento la variabile per continuare a tenere traccia delle posizioni dove devo scrivere i numeri pari
System.out.println("Numero "+i+": "+numeri[i]);// Stampo l'elemento i-esimo dell'array
}
}
}
}
Tuttavia, io l'avrei implementata in modo diverso questa cosa...mi sembra più comprensibile e pulito:
Java:
import java.util.Random;
public class Main
{
public static void main(String[] args) {
int min = 10;
int max = 99;
int numeri[] = new int[10];
Random random = new Random();
for (int i = 0; i < 10; i++){ //Questo ciclo riempie l'array con numeri dispari
numeri[i] = random.nextInt(max-min)+min;
while ((numeri[i] % 2) == 0){
numeri[i] = random.nextInt(max-min)+min;
}
}
for (int i = 1; i < 10; i+=2){//Questo ciclo prende gli elementi dispari nelle posizioni pari dell'array e li fa diventare pari
numeri[i] = numeri[i] + numeri[i-1];
}
//Non ho aggiunto la stampa dell'array
}
}