2013-10-27 4 views
12

ArrayList에 객체를 추가하고 싶지만 ArrayList에 새 객체를 추가 할 때마다 objt(name, address, contact)이라는 오류가 발생합니다. 여기Java의 ArrayList에 객체를 추가하는 방법

import java.util.ArrayList; 
import java.util.Scanner; 
public class mainClass { 
    public static void main(String args[]){ 

     Scanner input = new Scanner(System.in); 
     System.out.println("Plz enter Name : "); 
     String name = input.nextLine(); 
     System.out.println("Plz enter Address : "); 
     String address = input.nextLine(); 
     System.out.println("Plz enter ContactNo : "); 
     String contact = input.nextLine(); 


     ArrayList<Data> Contacts = new ArrayList<Data>(); 
     Data objt = new Data(); 
     Contacts.add(objt.Data(name, address, contact)); 
    } 
} 

, Data 내가 객체를 생성하고이 ArrayList에 전달하기 위해 노력하고있어있는 클래스이다.

public class Data { 

     private String name = ""; 
     private String address = ""; 
     private String cell = ""; 


     public void Data(String n, String a, String c){ 

      name = n; 
      address = a; 
      cell = c; 
     } 
     public void printData(){ 

      System.out.println("Name\tAddress\tContactNo"); 
      System.out.println(name + "\t" + address + "\t" + cell); 
     } 
} 
+1

플로팅 세미콜론은 무엇입니까? –

+0

어떤 오류가 발생 했습니까? – Raedwald

답변

30

당신은 객체를 생성 할 때 new 연산자를 사용할 필요가

Contacts.add(new Data(name, address, contact)); // Creating a new object and adding it to list - single step 

또는 다른

Data objt = new Data(name, address, contact); // Creating a new object 
Contacts.add(objt); // Adding it to the list 

하고 생성자 void을 포함 할 수 없습니다. 그렇지 않으면 수업 중 하나가됩니다.

public Data(String n, String a, String c) { // Constructor has the same name as the class and no return type as such 
+0

또한 OP는 자신의 클래스에 생성자를 작성해야합니다. –

+0

감사합니다. alot sir @ R.J .. – Johnfranklien

1

이 하나를 시도 : 당신은 인스턴스화 여기 new 연산자를 사용할 필요가

Data objt = new Data(name, address, contact); 
Contacts.add(objt); 
0

. 예를 들어

Contacts.add(new Data(name, address, contact)); 
-1

변경 날짜 괄호 사이에있는 객체하기

+2

무슨 날짜? 이것은 나에게 해결책처럼 보이지 않는다. – Jonathan

+0

나는 그들이 '데이터'를 의미한다고 생각하지만이 사용자가 돌아 오지 않는 것으로 보입니다. –

1

Contacts.add (objt.Data (이름, 주소, 연락처));

이것은 생성자를 호출하는 완벽한 방법은 아닙니다. 생성자는 객체 생성시 자동으로 호출됩니다. 생성자가없는 경우 java 클래스 자체 생성자를 생성합니다.

올바른 방법은 다음과 같습니다

데이터 오브젝트 1 = 새로운 데이터 (이름, 주소, 연락처);

// 개체 생성.

Contacts.add (object1);

// ArrayList 개체에 데이터 개체 추가 Contacts.

관련 문제