강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của desworld
desworld

câu hỏi đã được viết

Làm chủ Java từ cơ bản cùng thầy Eun-jong (Nhập môn lập trình Java Do it) - Phần 2 (Cấp độ Master)

큐 구현하기 질문드립니다

Đã giải quyết

Viết

·

285

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객체지향알고리즘

Câu trả lời 2

0

eunjong님의 프로필 이미지
eunjong
Người chia sẻ kiến thức

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

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

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

minjun님의 프로필 이미지
minjun
Người đặt câu hỏi

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

0

eunjong님의 프로필 이미지
eunjong
Người chia sẻ kiến thức

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

Hình ảnh hồ sơ của desworld
desworld

câu hỏi đã được viết

Đặt câu hỏi