ArrayList和Array作为Constructor的参数

时间:2014-03-02 06:57:46

标签: java arrays arraylist parameters constructor

我正在为我的计算机科学课做作业,但我陷入了这一部分。我应该为给定的main方法和实例变量编写构造函数。构造函数需要有一个ArrayList和一个Array作为参数,但我不完全确定如何。

说明和主要方法如下:

  

使用提供的注释和代码来完成构造函数

import java.util.ArrayList;
class RectangleStats
 { 
 //instance variables go here

 //The constructor for the RectangleStats class takes an ArrayList and an array as parameters for

 // width and length, respectively.


 // code for constructor goes here
 // The RectangleStatsTesterClass assigns the width of two rectangles to an ArrayList and assigns the
 // length of two rectangles to an array. The calcRectangleArea() and printArea() methods are invoked to 
 // calculate and print the area of the two rectangles.
 public class RectangleStatsTesterClass 
 { 
       public static void main(String[] args)

 {

       ArrayList dblWidth = new ArrayList();

       dblWidth.add(5.2);

       dblWidth.add(9.3);

       double [ ] dblLength = {11.1, 4.7};


       RectangleStats rectStats = new RectangleStats(dblWidth, dblLength);


       rectStats.calcRectangleArea();

       rectStats.printArea();

       }

  }

我目前拥有的构造函数是这样的:      public RectangleStats(double w,double l)      {          width = w;          length = l;          area = 0;      }

但是我不确定它是否正确..帮助?

2 个答案:

答案 0 :(得分:2)

如果您传递的实际参数分别是ArrayListarray,那么方法签名中的形式参数也应该相同。那就是:

public RectangleStats(ArrayList<Double> arg0, double[] arg1)

然后,您可以将arg0arg1(或您的标识符)分配给实例变量。

话虽如此,实施背后的整个想法非常糟糕(例如:使用ArrayListarray而不是其中之一。)

此外,当您声明ArrayList时,请执行以下操作: ArrayList<Double> dblWidth = new ArrayList<Double>();

指定要添加的对象的类几乎总是更好。

答案 1 :(得分:2)

使用优秀的Java书籍或教程,您可能很容易解决问题,但这就是您的方法:

ArrayList<Double> w;
double []length;
public RectangleStats(ArrayList<Double> width, double length[])
 { 
     this.width = width;
     this.length = length;

 {

我猜这些变量在构造函数之外使用,因此初始化。