2012-10-04 7 views
0

작동중인 코드는 사용자의 입력을 받아들이려고하지만 프로그램을 실행할 때마다 java.land라는 오류가 있음을 계속 알려줍니다. nullexception : null입니다. 나는 무엇을 해야할지 모른다!java.lang.nullexception의 오류가 계속 발생합니다 : null

import java.util.Scanner; 

public class HamzasGrocery 
{ 
// instance variables - replace the example below with your own 
private Scanner in; 

/** 
* Constructor for objects of class HamzasGrocery 
*/ 
public HamzasGrocery() 
{ 
    Scanner in = new Scanner(System.in); 
} 

/** 
* An example of a method - replace this comment with your own 
* 
* @param y a sample parameter for a method 
* @return  the sum of x and y 
*/ 
public void sampleMethod() 
{ 
double choice1; 
double choice2; 
double choice3; 
double choice4; 
double choice5; 
double total; 

System.out.print("Enter item #1: "); 
System.out.println(); 
choice1 = in.nextDouble(); 
System.out.print("Enter item #2: "); 
choice2 = in.nextDouble(); 
System.out.println(); 
System.out.print("Enter item #3: "); 
choice3 = in.nextDouble(); 
System.out.println(); 
System.out.print("Enter item #4: "); 
choice4 = in.nextDouble(); 
System.out.println(); 
System.out.print("Enter item #5: "); 
choice5 = in.nextDouble(); 
System.out.println(); 

System.out.printf("%-10s", "Item #'s"); 
System.out.printf("%-10s", "Cost:"); 
System.out.printf("%-10s", "Total:"); 

} 

}

답변

4

은에서 스캐너를 제거하기 "= 새로운 스캐너에서 스캐너 ..."코드를 생성자에서. . 선언 그것을 지금 인 방법을 수행함으로써

, 당신은에서가 로컬 범위에 속하고, 따라서에서 인스턴스 변수를 무시한다는 말을하는지

을 그래서 생성자가 있어야한다 :

public HamzasGrocery() 
{ 
    in = new Scanner(System.in); 
} 
1

생성자에서 인스턴스 변수 Scanner가 아닌 새 Scanner를 초기화합니다. 시도해보십시오 :

public HamzasGrocery() 
{ 
    in = new Scanner(System.in); 
}