인프런 커뮤니티 질문&답변
강사님 안녕하세요! 7번 퀴즈 질문있습니다!
작성
·
224
답변 2
1
빠르게 코드 및 에러 메시지를 올려주신 덕분에 원인을 찾을 수 있었습니다.
바로 for 문의 맨 끝에 붙어 있는 세미콜론 ; 때문이었네요 ^^
for (HamBurger hamBurger : hamBurgers); {위와 같이 하게 되면 for 문에서는 아무 동작을 수행하지 않고 for 문과는 무관하게 별도로 { ... } 부분이 실행되는 것처럼 동작하게 된답니다. 세미콜론이 for 문의 올바른 동작을 막아버린 것이죠.
for (HamBurger hamBurger : hamBurgers) {위와 같이 ; 을 없애버리면 올바르게 동작하게 될 거에요!
감사합니다.
좋은 주말 되세요 😊
1
안녕하세요?
발생하는 에러 내용을 추가로 올려주실 수 있으실까요? 마우스를 올리고 있으면 메시지가 나오기도 하고 그대로 실행을 시켜도 메시지가 나올 거에요. 그리고 Hamburger 클래스가 일부밖에 보여지지 않는데 전체 소스코드를 복사 + 붙여넣기 해주시면 확인 후 도움 드리도록 하겠습니다 😊
감사합니다.
강사님 안녕하세요!
답변 감사드립니다!
말씀하신 소스코드랑 에러 내용 스크린샷 첨부해서 올려드립니다!
감사합니다!
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("+ 새우");
}
}








퀴즈를 풀다가, for 문 안쪽에 hamBurger 이게 자꾸 에러가 뜨는데 주어진 코드로 아무리 변경하고 해도 에러때문에 실행이 안되네요 ㅜㅜ 어떻게 하면 좋을까요?? 부탁드립니다!
강사님 답변보고 수정하니까 바로 작동이 되네요!!
가끔 무의식적으로 세미콜론을 넣는데 이렇게 오류가 날지는 몰랐네요 ㅜㅜ
정말 감사합니다!!!