2와 50 (포함) 사이의 모든 소수를 표시하기 위해 다음 프로그램을 작성했습니다. 프로그램이 의도 한대로 실행되었지만 코드를 재검토 할 때 왜 실패하지 않았는지 궁금했습니다. if
문은 isprime
변수의 값을 변경할 수 있습니다. 그러나 코드 블록 {}이 (가) 내부 블록 for
에 남아 있으면이 변경 사항을 잊지 않았습니까? 이는 isprime
이 true
으로 남아 있고 모든 숫자가 표시된다는 것을 의미합니다.Java 범위와 변수의 수명
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);
}
}
}