2010-01-10 8 views
1

나는이 클래스를 가지고있다. "별명 IPADDRESS"예를 들어간단한 ArrayList의 질문

public static void main(String args[]) { 

     System.out.println(allTheUsers.get(0)); 
    } 

이 주요 : 내가 원하는 무엇

class UserMananger { 

    static User user; 
    static User user2; 
    static User user3; 

    static ArrayList allTheUsers; 

     public void UserManager() { 

      allTheUsers = new ArrayList(); 

      user = new User("Slavisha", "123.34.34.34"); 
      user2 = new User("Zare", "123.34.34.34"); 
      user3 = new User("Smor", "123.34.34.34"); 

      allTheUsers.add(user); 
      allTheUsers.add(user2); 
      allTheUsers.add(user3); 


     } 
} 

나에게 형식에서 입력 한 사용자의 목록에서 모든 요소를 ​​제공하는 주요 메소드를 호출하는 것입니다 메서드는 내게 뭔가를 줄 : Slavisha 123.34.34.34 하지만 그것을 제공하지 않습니다. 무슨 문제가있는 것 같습니까?

답변

4

첫 번째 문제 : toString()User에 덮어 쓰지 않았습니다. 예를 들면 :

@Override 
public String toString() { 
    return nickname + " " + ipAddress; 
} 

두 번째 문제 : UserManager의 인스턴스가, 당신은 정적 변수의 값을 변경하고 ...하지만 UserManager의 인스턴스하지 않는 한 당신은 아무것도 을 수행하지 않을 만들 때마다 만들어진. 하나의 옵션은 정적 초기화에 UserManager의 생성자를 변경하는 것입니다 :

static { 
    // Initialize the static variables here 
} 

세 번째 문제 : 당신의 main 방법이 어디 당신이 우리를 표시하지 않은, 그래서 우리가 allTheUsers에 액세스 할 수 있는지 여부를 알 수 없습니다.

네 번째 문제 : "그렇지 않습니다"는 문제에 대한 설명이 아닙니다. 무슨 일이 일어나고 있는지 항상 말하십시오. 예외가 있습니까? 그것은 단지 잘못된 것을 인쇄하고 있습니까?

+0

나는 또한했지만 내가 클래스 사용자 관리자를 컴파일 할 때 예외가있다 : "예외 스레드에서"주요 "java.lang.NullPointerException이 UserMananger.main (UserManager.java:29)에서 자바 결과 : 1 " – AmateurProgrammer

+0

오른쪽 - 당신이 생성자를 호출하지 않기 때문에 초기화 코드가 실행되지 않습니다. –