Область видимости Java и время жизни переменной
Я написал следующую программу для отображения всех простых чисел от 2 до 50 (включительно). Программа работала как задумано, но когда я пересмотрел код, я удивился, почему он не потерпел неудачу.if
Заявление может изменить значениеisprime
переменная. Тем не менее, не забыто ли это изменение внутреннеfor
кодовый блок {} оставлен? Это будет означать, чтоisprime
останетсяtrue
и все цифры будут отображаться.
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);
}
}
}