2011-11-22 3 views
-2

배열의 값을 변수로 설정하려고합니다. 여기 내 코드입니다 :배열에 변수를 추가하는 방법

//init the array as a float 
//I have tried to put a value in the brackets, but it returns a different error. 
//I initialized it this way so I could call it from other methods 
private float[] map; 

// generate a "seed" for the array between 0 and 255 
float x = generator.nextInt(256); 
int n = 1; 
// insert into the first 25 slots 
while(n <= 25) { 
    // here's my problem with this next line 
    map[n] = x; 
    double y = generator.nextGaussian(); 
    x = (float)Math.ceil(y); 
    n = n + 1; 
} 

이 내 오류가있는 라인을 표시, 반환 된 오류는 다음과 같습니다 "에 던져 캐치되지 않는 예외 ...". 내가 도대체 ​​뭘 잘못하고있는 겁니까??? 미리 감사드립니다.

EDIT -----

여기서 전체 예외이다 :

Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main] 

I가 플로트에 X를 플로트 값으로 변환하고 변경 한 다음, 임의 가우시안를 생성하는 예를 사용하고이 값

필자는 컴파일러에서 내게 말한 것이기 때문에 그 라인이라고 확신한다.

+4

당신은 예외의 자세한 내용을 게시 할 수 있습니다. 지도가 정의 된 방법을 보여줄 수 있습니까? – Gray

+0

'map'은 무엇입니까? 'y'는 무엇입니까? – juliomalegria

+1

"지도"의 유형은 무엇입니까? 오류에 대한 전체 메시지는 무엇입니까? 다음 라인이 아닐 수도 있니? (generator.nextGaussian();) – DPM

답변

6

나는 당신이 얻을 같은데요 두 가지 예외 중 하나를

  1. 당신은 nullNullPointerException 때문에 초기화 한지도를 받고있다. 예를 들어 사용하여 null 이외의 값을 할당합니다 : 당신은 0 기반 인덱스 대신 1 기반 색인을 사용하고 있기 때문에 당신이 IndexOutOfBoundsException을 받고

    private float[] map = new float[25]; 
    
  2. .

변경이이 for 반복하려면

int n = 1; 
while(n <= 25) { 
    // etc.. 
    n = n + 1; 
} 

는 :

for (int n = 0; n < 25; ++n) { 
    // etc.. 
} 
+0

오, 고마워, 빠른 응답 주셔서 감사합니다. – JAW1025

+0

@ JAW1025 : 그럼 ... 예외의 유형을 알려주십시오. 내 대답은 내 최고의 추측이다. 당신은 확신 할 수있는 정보가 너무 적었습니다. –

+0

질문 : – JAW1025

관련 문제