-2

ラップTestClass1[]インしようとしTestClassていますが、このためにTestClass. FunctionClassの配列を返す別のクラスのメソッドがありTestClassます。1Testclassつは isStringで、もう 1 つは classTestClass2です。TestClass2で包みTestclassます。

Testclass2にも 2 つの変数があり、1 つはStringで、もう 1 つは ですintTestclass対応する変数を含む配列を作成する方法を知りたいです。

次のコードがあります。

public class Testclass {

private String attrName;
    private TestClass1 tc;
    private TestClass2 tc2;

Testclass(Testclass1[] tc1){

    for(int i=0; i<tc1.length; i++){
    tc = tc1[i];
    attrName = this.tc.name; 
    tc2 = new TestClass2 (this.tc.elements); //this.tc.elements will return an Array of SomeClass which is not implemented by me.
    }

}

/**
 * Returns the Name.
 */
public String getName()
{
    return attrName;
}

/**
 * Returns the Testclass2 Array
 */
public TestClass2[] getTestClass2(){

//What to do ??
}



 /**
 * Testclass2 which is inner class of TesTClass.
 */
 private class Testclass2 {

    private int value;
    private string attribute;
    private SomeClass some;

    TestClass2 (SomeClass[] someClass){

        for(int i=0; i<someClass.length; i++){
        some= someClass[i]; 
        this.value= some.value;
                    this.attributes = some.attribute;

        }
    }

            /**
             * Returns the Value.
             */
    public int getValue(){
        return value;
    }

            /**
             * Returns the Attribute.
             */
            public string getAttribute(){
        return attribute;
    }

クラス内のメソッドはFunction次のとおりです。

public Testclass[] getTestClass(){

 //What to do?

}
4

2 に答える 2

0

クラスの属性をTestClass配列にします。必要に応じてゲッターとセッターを作成します。値を受け入れるか、配列を初期化するコンストラクター初期化子を作成します。のデフォルト コンストラクタを作成します。TestClass1TestClass2TestClass2

TestClass(TestClass1[] tc1, String attrName){

    tc = tc1;
    this.attrName = attrName; 
    if (tc != null) {
      tc2 = new TestClass2[tc.length];
      for(int i = 0; i< tc.length; i++) {
        TestClass2 t2c = new TestClass2(tc[i].getElements()); //this.tc.elements will   return an Array of SomeClass which is not implemented by me.
        tc2[i] = t2c;
      }
   }
}

/**
 * Returns the Testclass2 Array
 */
public TestClass2[] getTestClass2(){

  //What to do ?? 
  return tc2;
}

class TestClass2 {
   /**
    * Default constructor
    */ 
   TestClass2(){}
于 2012-11-19T10:44:56.910 に答える
0

あなたのコンストラクターは奇妙だと思います。コードをコンパイルしますか? 配列を tc2 に割り当てたいのですが、それを配列タイプとして選択していません。次にこれを使用します:

private TestClass2[] tc2;

次に、getTestClass2 で次のようにします。

return tc2;
于 2012-11-19T10:30:24.057 に答える