2014-01-31 5 views
3

할당의 일부로 일련의 사각형을 만들고 각 객체를 생성자에서 초기화되는 ArrayList 내에 넣어야합니다. 나는 혼란스러워했다. Eclipse는 .add(new_rec)을 (Double, Double) 유형이므로이 오브젝트와 함께 사용할 수 없다고 알려줍니다. 나는 ArrayList가 단순히 <Double>이기 때문에 이것이 어떤 문제를 일으키는 것으로 가정합니다. 그 외에도 나는 다른 곳에서 잘못 알고 있다고 생각하지만, 나는 어디 있는지 모른다. 당신이 사각형하지 복식을 저장의 ArrayList를 사용하는 것처럼 생성자 내에서 ArrayList 초기화

public class WhyWontThisWork { 

     WhyWontThisWork(Double name, Double rec_name){ 
      Rectangle new_rec = new Rectangle(23.1,43.0); 
      ArrayList<Double> name = new ArrayList<Double>(); 
      for(int i = 0; i < 10; i++){ 
       name.add(new_rec); 
      } 
     } 
} 

... 그리고 클래스처럼 보이는 Rectangle ...

public class Rectangle { 
    private double length; 
    private double width; 

    public Rectangle(double length, double width){ 
     this.length = length; 
     this.width = width; 
    } 
+2

주된 이유는 '사각형'_은 '이중'이 아니며 '이름'에 다른 이름을 부여해야합니다. – epoch

+0

변수 이름이 이미 범위 – MariuszS

+0

에 정의 된 변수가 될 수 없습니다 @ 신기원에 대한 나의 실수. 그 점을 지적 해 주셔서 감사합니다. – Matt

답변

2

이 정말 아주 당신이해야 이름을 필요로하는 유형 SIMPLE-입니다 :

ArrayList<Rectangle> name = new ArrayList<Rectangle>(); 

<> 내부의 일반적인 유형은 물건의 종류는 ArrayList의에 추가하는 것을 나타내고있다. 당신은 이중의 배열을 저장해야하는 경우가 문자열이 귀하의 경우에는 다음 ArrayList<String>

경우 당신은 너무 ArrayList<Rectangle>이 솔루션 당신은 직사각형의 목록을 저장할 필요가 ArrayList<Double>를 사용할 수 있습니다.

+0

그래서 '<...>'은 어떤 물체로 채워질 것입니까? 왜 '사각형'이 여기에서 작동하는지 혼란 스럽습니다. – Matt

+0

자세한 설명으로 업데이트되었습니다. 도움이 되었기를 바랍니다. – Elemental

+0

그래서 'Kittens'라는 클래스를 만들고 그 객체로 ArrayList를 채울 필요가 있다면'ArrayList '을 선언하겠습니까? – Matt

2

ArrayList를 사용 할 필요가

ArrayList<Rectangle> name = new ArrayList<Rectangle>(); 

수 있습니다.

0

arraylist는이 작업을 수행하려면 Rectangle 형식이어야합니다.

ArrayList<Rectangle> name = new ArrayList<Rectangle>() 
0

이클립스가 옳다.

ArrayList<Rectangle> name = new ArrayList<Rectangle>(); 
name.add(new_rec); 
0

는 또한 매개 변수와 ArrayList를 name이 동일 아래와 같이 변경 : 당신은 Double 객체를 보유하고 ArrayListRectangle 개체를 추가하려고

WhyWontThisWork(Double nameDouble, Double rec_name){ 
       Rectangle new_rec = new Rectangle(23.1,43.0); 
       ArrayList<Rectangle> name = new ArrayList<Rectangle>(); 
       for(int i = 0; i < 10; i++){ 
        name.add(new_rec); 
       } 
      } 
0

. 그것이 오류를 보는 이유입니다. 다른 답변에서 지적한 것처럼 가장 좋은 해결책은 목록을 ArrayList<Rectangle>으로 변경하는 것입니다.

here 또는 here의 약자를 읽어야 할 수도 있습니다.