Escopo Java e tempo de vida da variável

Escrevi o programa a seguir para exibir todos os números primos entre 2 e 50 (inclusive). O programa foi executado conforme planejado, mas quando eu reexaminei o código, fiquei imaginando por que não havia falhado. oif A instrução pode alterar o valor doisprime variável. No entanto, essa mudança não será esquecida quando o interiorfor o bloco de código {} foi deixado? Isso significaria queisprime permaneceriatrue e todos os números seriam exibidos.

class Prime {
    public static void main (String args []) {

    int a, b;
    boolean isprime;

    for (a = 2; a < 51; a++) {

        isprime = true;

        for (b = a-1; b > 1; b--) {

            if (a % b == 0) isprime = false;
        }

        if (isprime) System.out.println(a);
    }
}
}

questionAnswers(2)

yourAnswerToTheQuestion