2014-11-29 15 views
2

나는 로봇이 벽에 충돌하지 않고 대상을 찾는 로봇 미로에서 작업 중입니다. 내 코드를 철저히 주석 처리 했으므로 잘 이해할 수있을 것이다.Java : ArrayList의 유일한 요소를 반환하는 방법

막 다른 골목과 복도에는 passageDirectionsArrayList에 단 하나의 단락 만 있습니다. 어떻게이 유일한 방향으로 되돌려 놓을 수 있습니까?

어떤 도움에 감사드립니다 :)

PS를 : 나는 아직도 당신이 세 살 :

답변

2

당신은 passageDirections.get(0)을 사용할 수 있습니다에게 설명하는 것처럼 그렇게 답을 설명 학습, 초보자 프로그래머입니다 이는 목록의 첫 번째 요소를 반환합니다. 목록에 단일 요소가 있음을 보장하므로 문제가 해결됩니다.

https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#get(int)

+0

같은 간단한 솔루션을 방지하기 위해 호출하기 전에 크기를 확인해야합니다! 아무리 내가 그 하하를 놓쳤다. 그러나 어떤 이유로 든 실행할 수 없다. ( – codeav3

+2

@ codeav3 "* ... 어떤 이유로 든 실행할 수 없다"는 것은 무엇을 의미합니까? 대부분의 경우 이유는 명시 적입니다 오류 메시지에 언급 : – Pshemo

+0

@ pshemo 그 프로그램이 실행되는 동안 지속적으로 반복 도착 오류. 로봇이 움직이지 않습니다. java.lang.reflect.InvocationTargetException' ...'원인 : java.lang.IndexOutOfBoundsException : Index : 0, Size : 0' ... – codeav3

2

당신은 IndexOutOfBoundsException가

if (passageDirections.size() > 0) 
    passageDirections.get(0) 
+1

이것은 예방하지 못합니다. 'NullPointerException'을 실행하면'IndexOutOfBoundsException'을 막을 수 있습니다. 그러나 먼저 확인하는 것이 좋습니다. – Tom

+0

예. 잡아 주셔서 감사합니다! :) –

관련 문제