Buongiorno sto seguendo un corso di programmazione siamo arrivati ai metodi
pero ho lasciato indietro un esercizio con gli array che mi trascino da settimane
L'esercizio mi dice di creare un array di tot numeri che siano pari e dispari messi un po a caso
dal quale deve venire fuori un array della lunghezza nel quale di pari sono a destra e dispari a sinistra.
ho provato con un due cicli for separati e annidati un ciclo con due variabili e alla fine sempre ottengo due array separati
es: int [] paridispari={2,3,5,4,7,8,20} e ottengo sempre {2,4,8,20,0,0,0} oppure {3,5,7,0,0,0,0}.
int []pd= {2,5,4,9,3,6,8,11,20};
int PD=pd.length;
int contatorei1=0;
int contatoreo1=0;
int []newpardis= new int [pd.length];
for(int i1=0,i2=0; i1<PD; i1++,i2++) {
if(pd[i1]%2==0){
newpardis[contatorei1]=pd[i1];
contatorei1++;}
if(pd[i2]%2!=0) {
newpardis[contatoreo1]=pd[i2];
contatoreo1++;}
Qui ovviamente mi stampa {5,9,3,11,0,0,0,0}
Alla fine ho provato con ArrayList e mi viene l'esercizio
int []evenodd= {2,5,4,9,3,6,8,11,20};
int EO=evenodd.length;
ArrayList <Integer> newevenodd =new ArrayList<Integer>();
for(int a1=0; a1<EO; a1++){
if(evenodd[a1]%2==0) {
newevenodd.add(evenodd[a1]);}
}
for(int e1=0; e1<EO; e1++){
if(evenodd[e1]%2!=0) {
newevenodd.add(evenodd[e1]);}
La stampa finale sarà {2,4,6,20,5,9,11}.
Vorrei capire come fare l'esercizio senza ricorrere all'ArrayList