(java) new 시 NullPointerException
글쓴이: smallhuman / 작성시간: 토, 2014/06/14 - 1:36오전
class foodgroup {
<<중략>>
public static void initfoodgroup() throws IOException{
<<중략>>>
food tmpfood = new food(1, 2, 3, 4, 5);
while((line = bfread.readLine()) != null){
tmp = line.split("\t");
//tmpfood = new food(1, 2, 3, 4,5);
int a = Integer.parseInt(tmp[0]);
int b = Integer.parseInt(tmp[4]);
double c = Double.parseDouble(tmp[5]);
double d = Double.parseDouble(tmp[6]);
double e = Double.parseDouble(tmp[7]);
tmpfood = new food(1, 2, 3, 4, 5);
//tmpfood = new food(Integer.parseInt(tmp[0]), Integer.parseInt(tmp[4]),
//Double.parseDouble(tmp[5]), Double.parseDouble(tmp[6]), Double.parseDouble(tmp[7]));
//allfood.get(foodtype.get(tmp[1])).add(tmpfood);
}
<<중략>>
}
class food{
public int foodnum;
public double carbo;
public double protein;
public double fat;
food (int num, int servsize, double c, double p, double f){
foodnum = num;
carbo = c / servsize;
protein = p / servsize;
fat = f / servsize;
}
}아무리 보아도 정상적인 코드인데 new food()를 할 때 NullPointerException 에러가 납니다. 이유를 모르겠네요.
또 굉장히 황당한 게.... while 문 안에 있는 new 구문은 반드시 에러를 발생시키고
while 문 시작지점에 있는 new 구문은 거기에 중단점을 걸고 실행시켜야지 에러를 발생시킵니다 -_-;;;
그러니까 아무런 중단점을 안 걸고 돌리면 while 문 안에서 에러가 나고
while 문 바로 위에 중단점을 걸고 돌리면 while 문에 들어가기 전에 에러가 납니다 (....)
이해가 안 가네요.;
Forums:


-_-;;;
입력 데이터에 오염이 있었습니다.
오늘도 자문자답하는 (....) 잉여 프로그래머입니다.
댓글 달기