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 Class{
    public Class(int length){
        this.array = new double[length]; // <- this is not global
    }
    double[] array;
}
于 2013-07-08T14:35:08.837 に答える
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;
    }    
}

2番目の方法で初期化できます。ただし、固定長を使用する必要があります

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 に答える
-1

あなたはそれを行うことができます

public  class Test  {
 double[] array;

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


}
于 2013-07-08T14:33:23.727 に答える