2015-02-05 2 views
1

나는 최근에 프로그램을 작성하는 방법과 배열에 대해 public static void을 프로그래밍하는 동안 튜토리얼을 따라 왔으며 튜토리얼은 배열을 객체로 선언했다. 다음은 당신이 배열을 선언해야한다는 내 질문에java로 배열을 객체로 선언 하시겠습니까?

import java.io.*; 
import java.lang.*; 
public class LoginList 
{ 
int arraySize=500; 
Login[] arrayLogin=new Login[arraySize]; 
int nextPosition=0; 
int LoginLocation=-1; 


public void addLogin(Login tempLoginParameters) 
{ 
    arrayLogin[nextPosition] = tempLoginParameters; 
    nextPosition++; 
} 


public void writeLogins() 
{ 
    try 
    { 
     BufferedWriter LoginWriter = new BufferedWriter(new FileWriter("LoginDetails.txt")); 
     for(int i=0;i<nextPosition;i++) 
     { 
      LoginWriter.write(arrayLogin[i].toString()); 
      LoginWriter.newLine(); 
     } 
     LoginWriter.close(); 
    } 

    catch(Exception e) 
    { 
     System.out.println("Error with writer"); 
    } 
} 


public void readLogins() 
{ 
    try 
    { 
     BufferedReader LoginReader = new BufferedReader(new FileReader("LoginDetails.txt")); 
     String ReadLine = LoginReader.readLine(); 

     while(ReadLine!= null) 
     { 
      String[] arrayStringLogin = ReadLine.split(", "); 
      Login tempLogin = new Login(); 
      tempLogin.UserName = arrayStringLogin[0]; 
      tempLogin.Password = arrayStringLogin[1]; 
      arrayLogin[nextPosition] = tempLogin; 
      nextPosition++; 
      ReadLine = LoginReader.readLine(); 
     } 
    } 
    catch(Exception e) 
    { 
     System.out.println("Error with reader"); 
    } 
} 


public void displayLoginDetails() 
{ 
    for(int i=0;i<nextPosition;i++) 
    { 
     System.out.println("Login "+nextPosition+": "+arrayLogin[i].toString()); 
    } 
} 


public void searchLogins(String TempLog) 
{ 
    LoginLocation=-1; 

    for(int i=0;i<nextPosition;i++) 
    { 
     if(arrayLogin[i].UserName.equals(TempLog)) 
     { 
      System.out.println("Match At Position:"+i); 
      LoginLocation=i; 
     } 

     else 
     { 
      System.out.println("No match for UserName"); 
     } 

    } 
} 

public static void main(String[] args) 
{ 
    LoginList ll = new LoginList(); //Declares the array as an object 

을 자리하고있는 곳으로 왜이다에 볼 수 있도록 배열과 나는 두 부분 사이에 분할을 뒀다 코드의 끝 부분에있는 코드는 물건으로? 저 위 좀 봐.

Login tempLogin = new Login(); 
    ll.readLogins(); 
    ll.displayLoginDetails(); 
} 
} 

답변

3

LoginList는 배열이 아니며, 인스턴스 멤버 중 하나 인 Login 객체의 배열을 갖습니다. main의 코드는 LoginList 유형의 객체를 만들고 그 메소드를 호출합니다. LoginList 객체는 배열을 내부적으로 사용하지만 main 메소드는 배열에 대해 알 필요가 없습니다.

관련 문제