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

the9219님의 프로필 이미지
the9219

작성한 질문수

나도코딩의 자바 기본편 - 풀코스 (20시간)

퀴즈 #7

강사님 안녕하세요! 7번 퀴즈 질문있습니다!

작성

·

188

0

 안녕하세요 나도 코딩님!

스크린샷 2023-09-15 18.14.01.png퀴즈를 풀다가, for 문 안쪽에 hamBurger 이게 자꾸 에러가 뜨는데 주어진 코드로 아무리 변경하고 해도 에러때문에 실행이 안되네요 ㅜㅜ 어떻게 하면 좋을까요?? 부탁드립니다!

답변 2

1

나도코딩님의 프로필 이미지
나도코딩
지식공유자

빠르게 코드 및 에러 메시지를 올려주신 덕분에 원인을 찾을 수 있었습니다.
바로 for 문의 맨 끝에 붙어 있는 세미콜론 ; 때문이었네요 ^^

for (HamBurger hamBurger : hamBurgers); {

위와 같이 하게 되면 for 문에서는 아무 동작을 수행하지 않고 for 문과는 무관하게 별도로 { ... } 부분이 실행되는 것처럼 동작하게 된답니다. 세미콜론이 for 문의 올바른 동작을 막아버린 것이죠.

for (HamBurger hamBurger : hamBurgers) {

위와 같이 ; 을 없애버리면 올바르게 동작하게 될 거에요!
감사합니다.
좋은 주말 되세요 😊

the9219님의 프로필 이미지
the9219
질문자

강사님 답변보고 수정하니까 바로 작동이 되네요!!

가끔 무의식적으로 세미콜론을 넣는데 이렇게 오류가 날지는 몰랐네요 ㅜㅜ

정말 감사합니다!!!

1

나도코딩님의 프로필 이미지
나도코딩
지식공유자

안녕하세요?
발생하는 에러 내용을 추가로 올려주실 수 있으실까요? 마우스를 올리고 있으면 메시지가 나오기도 하고 그대로 실행을 시켜도 메시지가 나올 거에요. 그리고 Hamburger 클래스가 일부밖에 보여지지 않는데 전체 소스코드를 복사 + 붙여넣기 해주시면 확인 후 도움 드리도록 하겠습니다 😊
감사합니다.

the9219님의 프로필 이미지
the9219
질문자

강사님 안녕하세요!

답변 감사드립니다!

말씀하신 소스코드랑 에러 내용 스크린샷 첨부해서 올려드립니다!

감사합니다!

public class Quiz07 {

 

public static void main(String[] args) {

HamBurger[] hamBurgers =new HamBurger[3];

hamBurgers[0] = new HamBurger();

hamBurgers[1] = new CheeseBurger();

hamBurgers[2] = new ShrimpBurger();

 

System.out.println("주문하신 메뉴를 만듭니다.");

System.out.println("-------------------");

for (HamBurger hamBurger : hamBurgers); {

hamBurger.cook();

System.out.println("------------------");

 

}

System.out.println("메뉴 준비가 완료되었습니다.");

 

}

 

}

 

class HamBurger {

public String name;

public HamBurger() {

this("햄버거");

 

}

public HamBurger(String name) {

this.name = name;

}

 

 

public void cook() {

System.out.println(this.name+ "를 만듭니다.");

System.out.println("빵 사이에 들어가는 재료는?");

System.out.println(">양상추");

System.out.println("+ 패티");

System.out.println("+ 피클");

 

 

 

}

 

}

 

class CheeseBurger extends HamBurger{

public CheeseBurger() {

super("치즈버거");

}

 

public void cook() {

super.cook();

System.out.println("+ 치즈");

 

}

 

}

 

class ShrimpBurger extends HamBurger {

public ShrimpBurger() {

super("새우버거");

}

public void cook() {

super.cook();

System.out.println("+ 새우");

}

 

}

 

imageimage

the9219님의 프로필 이미지
the9219

작성한 질문수

질문하기