2012-12-15 6 views
-2

나는 왜이 예외를 얻지 않는가! 내 방법은 루프가 여기 내 병렬 배열 을 채울 것이다 아주 간단한 것은 내가 두 번째 입력 한 후이 예외가 내 방법스캐너와 nullPointerException

public void fillPhoneBook(){ 
    Scanner in = new Scanner(System.in); 
    for(int i=0;i<this.names.length;i++){ 
     System.out.println("Enter Name:"); 
     this.names[i] =in.next(); 
     System.out.println("Enter Phone Number:"); 
     this.telephones[i]=in.next();//here start rising exception 
    } 
    in.close(); 

입니다!`

--- UPDATE ---

죄송합니다. 전화기 배열을 초기화 할 때 문제가 발생했습니다.

+0

아래의 코드를 살펴 제발? 특별히 '전화'배열? –

+1

완전한 클래스 코드를 작성하십시오. –

+0

생성자 – Hamoudaq

답변

1

설명과 동일한 시나리오를 만들었지 만 이상한 것은 내가 n 그러한 예외가 발생하지 않습니다. 당신이 당신에게 배열을 초기화 한

public class TestScanner { 
    String names[] = new String[10]; 
    String telephones[] = new String[10]; 

    public static void main(String a[]) { 

     TestScanner p = new TestScanner(); 

     Scanner in = new Scanner(System.in); 
     for (int i = 0; i < p.names.length; i++) { 
      System.out.println("Enter Name:"); 
      p.names[i] = in.next(); 
      System.out.println("Enter Phone Number:"); 
      p.telephones[i] = in.next();// here start rising exception 
     } 
     in.close(); 

    } 
} 

출력

Enter Name: 
test1 
Enter Phone Number: 
123456 
Enter Name: 
test2 
Enter Phone Number: 
456789 
Enter Name: 
+0

나는 그가 제대로 초기화하지 못한 것 같아요. 여기에서 네가 한 짓이 바로 그거야. – Zhedar

+0

그 코드의 주석에 쓴 글은 전체 코드를 작성하여 문제를 해결할 수 있도록합니다. –