2011-11-21 2 views
0

나는 간단한 블랙 잭 게임을 만들기 위해 자바 프로그램을 작성 중이다.자바 심플 블랙 잭 게임, nullPointerException

사용자 인터페이스로 카드 개체 배열을 사용하고 있습니다.

사용자는 2 장의 카드를 처리하지만 5 장의 카드 한도에 도달 할 때까지 다른 카드를 요청할 수 있습니다.

이런 이유로 나는 추가 카드가 손에 추가 될 가능성을 허용하기 위해 5 개의 슬롯이있는 카드 오브젝트 배열을 만들었습니다.

그러나 이제는 내 배열에 null 개의 개체가 있기 때문에 사용자가 전체 5 장의 카드를 요구하지 않으면 원래의 손을 인쇄 할 수 없습니다.

이 문제를 해결하는 가장 쉽고 간단하며 쉬운 방법은 무엇입니까?

+2

사용 목록 대신하다 최대 용량은 5입니다. – mre

답변

1

확인 당신은 무엇을하기 전에.

위의 설명에서 알 수 있듯이 목록을 사용하는 것이 좋습니다.

4

배열 값이 null인지 확인하는 if 문 내부에 카드 값을 인쇄 할 줄을 지정하십시오. 뭔가 같은 :

+0

perfectn thanks –

2

너는 알다시피, null 개체 안에 아무것도 액세스 할 수 없습니다. 이 경우 5 장의 카드가 모두 인쇄되어 있으면 null인지 확인해야합니다.

if(x[i] == null){ 
    don't.do.anything(); 
}else { 
    print.something(); 
} 

방법은 분명히 가짜하지만 그런 일을 시도 : 널 (null)에 대한

3

배열을 사용하지 마십시오. List (아마도 ArrayList)를 사용하십시오. 그런 다음

, 당신은 간단하게 말할 수있다 : 나는 당신의 카드 클래스를 믿고있어

for (Card card : hand) { 
    System.out.println(card); 
} 

toString() 메서드를 가지고 있으며, '손'목록 < 카드 >

+0

손에 null 요소가있을 수 있으므로이 말이 맞는지 확실하지 않습니다. 우리는 질문에 따라 5 개의 요소 (일부 null)가 필요하다고 믿습니다. – jayunit100

+0

손에 카드가 추가되는 것만 보일 것입니다. 목록에 null 항목을 추가 할 필요가 없습니다. 손에없는 카드. –

관련 문제