인프런 커뮤니티 질문&답변

hyeonhee님의 프로필 이미지
hyeonhee

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

ScannerWhile4 Switch문 질문

작성

·

107

0

1. 위의 코드에서 case1 에 있는 변수 price를 case2에 사용하면 오류가 나는 이유가 무엇인가요?

 

  1. 오류가 나지 않게 switch문 밖에 price를 선언하면 어떻게 scanner을 사용해서

     

    System.out.print("상품의 가격을 입력하세요: ");

밑에 사용 하는 방법은 뭘까요??

 

답변 1

0

안녕하세요. hyeonhee님, 공식 서포터즈 y2gcoder입니다.

1) 저희가 저번에 지난 챕터인 스코프와 형변환에서 배우셨던 스코프 때문입니다! 각 개별 case들 내에서 생성한 지역 변수들은 case 내에서만 생존할 수 있다고 생각하시면 이해하기 쉬우실 것 같습니다!

2) 위의 코드 기준으로 간단하게 해보자면 말씀하신 것처럼 switch문 밖에 int price 변수를 선언하고, 안에서 사용하시면 됩니다!

//...
Scanner scanner = new Scanner(System.in);
int price = 0;
switch (option) {
  case 1:
    //...
    System.out.print("상품의 가격을 입력하세요: ");
    price = scanner.nextInt();//이렇게 사용해주십쇼!
    //...
    break;
  //나머지 코드
}

 

감사합니다.

hyeonhee님의 프로필 이미지
hyeonhee

작성한 질문수

질문하기