2014-04-19 3 views
-1

java의 문자열 배열에 문제가 있습니다. 출력 파일에 inverseNewWords LinkedHashMap 값을 출력하려고하는데 배열에 대한 NPE가 계속 표시됩니다. 어떤 이유로 첫 번째 줄이 작동하지 않는 것 같습니다.Java - 배열에 NullPointerException이 있습니까?

System.out.println(inverseNewWords.get(codeIntegers[i])); 

좋은 단어 밖으로 인쇄하지만,이 라인 :

System.out.println(newWTF[i]); 

다시 null로 제공됩니다. 빠른 답변에 대한

newWTF[i] = inverseNewWords.get(codeIntegers[i]); 
System.out.println(inverseNewWords.get(codeIntegers[i])); 
System.out.println(newWTF[i]); 
decodedWriter.write(newWTF[i]); 

** 수정 ** 덕분에, 나는 제 시간에 제출 얻을 밤 내내이 특정 프로그램 작업 있었고, 내 머리의 금이. 문자열 배열은 참으로 잘못 초기화 된,하지만 지금은 내 큰 문제는 그것의 얼굴을 보여주고있다 : println 메소드 문이 제대로 나에게 배열의 각 단어를 보여줍니다

System.out.println(newWTF[i]); 
decodedWriter.write(newWTF[i]); 

합니다. 그러나 FileWriter는 파일에 동일한 단어를 쓰지 않습니다. 이 광고

System.out.println(newWTF[i]); 

은 NPE 던질 수는 newWTF가

+0

1) 배열의 * EACH *를 초기화했는지 확인하십시오. 2) 인덱스가 유효하고 할당 된 배열 요소를 가리키고 가장 중요한 3) * STEP THRO 디버거 * 아래의 코드를 사용하여 실제로 어떤 변수가 "null"인지 볼 수 있습니다! – FoggyDay

+0

'codeIntegers'와'newWTF'의 관계는 무엇입니까? – merlin2011

+0

@ user3160821 : 전체 코드를 첨부하십시오. 도움 없이는 매우 어렵습니다. 그리고 try/catch 절을 사용하십시오. – ron

답변

2

유일한 이유 감사합니다 (Filewriter 플러시 프로그램이 종료되기 전에 종료되는) :

newWTF = new String[inverseNewWords.size()]; 
0

도울 수 NULL임을 이유 어떤 도움이 크게

관련 문제