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