2

如何创建构造函数来设置全局数组的长度?

我已经尝试了几种方法来做到这一点,没有一个成功。

例子:

public Class{

    public Class(int length){
       double[] array = new double[length]; <- this is not global

       L = length;
    }

   int L;
   double[] array = new double[L]; <- this does not work
}

我需要一个长度由构造函数确定的数组。

4

5 回答 5

8

我认为这很简单:

public class MyClass{
    double[] array;

    public MyClass(int length){
        array = new double[length];
    }
}

我还使代码实际编译:)您缺少一些关键字等。

如果您想length在代码中访问,请使用array.length而不是将其冗余存储在单独的字段中。

即使作为一个例子,调用你的类Class也是一个糟糕的选择,因为它与java.lang.Class.

于 2013-07-08T14:33:11.537 回答
0
public class aClass{
    //define the variable name here, but wait to initialize it in the constructor
    public double[] array;

    public aClass(int length){
        array = new double[length];

    }

}
于 2013-07-08T14:33:00.963 回答
0

将数组声明为成员变量。然后在构造函数中初始化它。

public class A{    
    private double[] array;    
    public Class(int length){
        array = new double[length];  
        L = length;
    }    
}

你可以用第二种方式初始化它。但是你需要使用固定长度

public class A{    
    private double[] array = new double[100];  // use fixed length  
    public Class(int length){
        array = new double[length];   
        L = length;
    }    
}
于 2013-07-08T14:33:20.380 回答
0

我不知道你想要达到什么目标,但为什么你不简单地这样做:

public class Class{
    public Class(int length){
        this.array = new double[length]; // <- this is not global
    }
    double[] array;
}
于 2013-07-08T14:35:08.837 回答
-1

你能行的

public  class Test  {
 double[] array;

      public Test  (int length){
          array = new double[length]; <- this is not global


}
于 2013-07-08T14:33:23.727 回答