(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: 


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