Nel seguente esercizio, comparso in un test scritto, mi veniva richiesto che cosa avrebbe stampato la macchina! Purtroppo ho sbagliato a dare le risposte e oggi, provandolo al computer, ricevo in stampa dati che non mi so spiegare! Soprattutto mi crea difficoltà il simbolo %, che non riesco ancora a comprendere bene. Sapevo che indicava il resto di una divisione e in questo caso, il numero della divisione per 2, con resto 0, ma anche con questa informazione non so spiegarmi i risultati. Qualcuno mi aiuta?

public class Mainclass {

public static void main(String[] args) {

System.out.println(enigma(1));
System.out.println(enigma(6));
System.out.println(enigma(10));
System.out.println(enigma(11));
}

static int enigma (int x){

if (x<=0) return 0;

if (x%2==0) return enigma(x-1) + x;
return enigma (x-1) - x;
}
}

RISULTATO DI STAMPA:

-1
3
5
-6