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

minjun님의 프로필 이미지
minjun

작성한 질문수

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)

큐 구현하기 질문드립니다

해결된 질문

작성

·

168

0

public String deQueue()
	{
		if(isEmpty()){
			System.out.println("Queue is Empty");
			return null;
		}
		String data = front.getData();
		front = front.next;
		if( front == null ){  // 마지막 항목
			rear = null;
		}
		return data;
	}

강사님께서 올려주신 코드인데 처음에는 head가 null이니까 isEmpty가 true라서 return null이 되는데

enQueue 실행하고 deQueue를 2번 실행하면 head가 null이 아니라서 isEmpty가 false가 되면서

NullPointerException이 발생합니다. 어떻게 수정하면 좋을까요?

답변 2

0

박은종님의 프로필 이미지
박은종
지식공유자

제가 지금 github 에 올라간 Queue 코드를 확인해 보니 다음과 같이 코드가 되어 있습니다.

@Override
	public boolean isEmpty() {
	
		if( front == null && rear == null) {
			return true;
		}
		else 
			return false;
	}

head == null 로 체크하는 부분은 List 인데, 확인해보시면 감사하겠습니다.

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

아 그렇네요 제가 GitLab 을 참고했어서 오버라이딩 되어있는 걸 확인을 못했습니다 답변 감사합니다

0

박은종님의 프로필 이미지
박은종
지식공유자

아... isEmpty() 코드를 수정해야겠습니다. 알려주셔서 감사합니다. 코드 수정되면 다시 알려드리겠습니다

minjun님의 프로필 이미지
minjun

작성한 질문수

질문하기