강의

멘토링

커뮤니티

Inflearn Community Q&A

desworld's profile image
desworld

asked

Mastering Java Basics with Eunjong (Do it Java Programming Introduction) - Part 2 (Mastering Edition)

큐 구현하기 질문드립니다

Resolved

Written on

·

276

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이 발생합니다. 어떻게 수정하면 좋을까요?

java객체지향알고리즘

Answer 2

0

eunjong님의 프로필 이미지
eunjong
Instructor

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

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

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

minjun님의 프로필 이미지
minjun
Questioner

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

0

eunjong님의 프로필 이미지
eunjong
Instructor

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

desworld's profile image
desworld

asked

Ask a question