java) 전역변수에 예외가 존재하나요?
글쓴이: yidj0205 / 작성시간: 수, 2022/08/03 - 1:02오후
input이 2인 경우 dyn함수 내에서의 n은 1을 갖지만, dyn함수를 호출한 후의 main함수의 n은 2를 갖습니다.
이유가 무엇인가요?
import java.io.IOException; import java.util.Scanner; public class Main { public static int ans = 0; public static int n; static void dyn(int n) { if (n % 3 == 0) { ans++; n = n / 3; } else if (n % 2 == 0) { ans++; n = n / 2; System.out.println(n); } else { ans++; n = n - 1; } } public static void main(String[] args) throws IOException { // TODO Auto-generated method stub 0(48) 소문자(49, 74) 대문자(17, 42) 띄어쓰기(-16) Scanner in = new Scanner(System.in); StringBuilder sb = new StringBuilder(); n = in.nextInt(); dyn(n); System.out.print(n); } }
Forums:
main 메소드 내에 n 은 전역변수 입니다.
main 메소드 내에 n 은 전역변수 입니다.
dyn 의 인자값으로 입력된 변수 n은 전역변수와 별개입니다.
댓글 달기