Ciao a tutti !!! Spero mi potiate aiutare !!!
Dunque ho un esame all’università riguardante il linguaggio di programmazione JAVA e sto cercando di risolvere alcuni esercizi presenti all’interno del sito dell’università. L’esercizio è il seguente:
public class Esercizio1 {
static int elabora(boolean[] a, int[] b) {
int ris = 0;
for (int i = 2; i < a.length; i++)
if (a[i])
for (int j = i+2; j < b.length; j++)
if (b[j]%b[i]==0)
a[j]=false;
for (int i = 1; i < a.length; i++)
if (a[i]) ris++;
return ris;
}
public static void main(String[] args) {
boolean[] x = {true,true,true,true,true,true,true,true,true,true ,true};
int[] y = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10};
int z = elabora(x, y);
System.out.println(z);
}
}
Ho provato questo codice è il risultato di z è 18 ma non capisco come fa a fare 18, potreste spiegarmi l’intero codice? Grazie mille…
Poi altra cosa, nel primo ciclo for i < a.lenght, come può essere verò se a è un’array boolean il cui valore è null visto che non è stato allocato spazio di memoria con la parola “new”?
Grazie in anticipo.

Rispondi quotando