저는 Java의 초보자이며 연습하는 동안 이러한 오류가 발생했기 때문에 오류를 암기하지 않고 오류를 암시하지 않으려 고 생각했습니다.변수의 메소드 레벨 범위
public static int gcd(int a, int b) {
if(a > b) {
int result = a % b;
}
return result;
}
이 나에게 a cannot find symbol
를 생성하지만 나는 나는 if
루프에서 int
같은 결과를 초기화하는 줄 알았는데?
public static int gcd(int a, int b) {
if(a > b) {
int result = a % b;
return result;
}
}
이렇게하려면 if 루프에서 결과를 반환하면 루핑을 계속하기 때문에 잘못 되었습니까?
public static int gcd(int a, int b) {
int result = 0;
if(a > b) {
result = a % b;
}
return result;
}
루프는 if
루프 밖에서 결과를 선언 할 때 오류가 없어집니다. 왜 그런가요? 그들은 오직 블록 그들이에서 만들어졌다.
블록을 { ... }
내부에 내부 코드를 볼 수 있기 때문에
또한 루프가 아닌 경우. 그것은 조건입니다. 루프는 숫자 또는 원하는 시간에 작업을 반복 할 수있게 해주는 구조입니다 ... – Thihara