Ciao a tutti! Sono nuovo nel forum e ho bisogno di capire un piccolo codice scritto in Java.
Dato il seguente codice:
public class Esercizio{
public static int x; public final int [] y = new int[3];
public Esercizio(int x, int y0, int y1, int y2){
Esercizio.x = x; this.y[0]=y0; this.y[1]=y1; this.y[2]=y2;
}
public static void main(String[] args){
int a = 0;
Esercizio[] q = new Esercizio[3];
q[0] = new Esercizio(0, 10-a, 6-a, 5-a);
q[1] = new Esercizio(a, 4, 8, 10);
q[2] = new Esercizio(2-a, a, a+1, a+2);
try { System.out.println(q[a].y[x]); }
catch (Exception e) { System.out.println("No!"); }
Perchè stampa il valore 5? Al di là dell'output, non riesco a capire il valore che prende la variabile statica x: qualcuno me lo può spiegare?
Grazie in anticipo!