-3
public double getAllElementsInCollection(ArrayList<Double> nameofCollection){

      double result = 0.0;
      for(Double nameofDouble : nameofCollection){
        result = nameofDouble;
      }
      return  result;       
}

ArrayList渡された要素のすべてを返すメソッドを作成しようとしていますが、配列に挿入された最後の要素を取得しています。どうすればこのタスクを達成できますか? 私は昨日からこれをやろうとしてきました。私がSystem.out.println(nameofDouble);実際にすべての要素を印刷する場合、私はそれらを印刷したくないことに気付きました.. 渡された内のすべてのコンテンツを返したいですArrayList

4

5 に答える 5

0

次の2つのいずれかを実行できます。

まず:

ArrayList<Double> list = new ArrayList<Double>();

...

Double[] elements = list.toArray(new Double[list.size()]);

または、この方法を使用する場合:

public double[] getAllElementsInCollection(ArrayList<Double> list){
    double[] elements = new double[list.size()];
    for(int i = 0; i < elements.length; i++){
        elements[i] = list.get(i);
    }
    return elements;

}
于 2013-03-15T18:00:42.810 に答える
0

次の方法でメソッドを変更して、ArrayListさらに印刷できる文字列内のすべての要素を返すことができます。

public String getAllElementsInCollection(ArrayList<Double> nameofCollection){

      return java.util.Arrays.toString(nameofCollection);
}
于 2013-03-15T18:23:28.830 に答える
0

あなたはそれをすべて間違っています。まず、メソッドの戻り値の型は double です。これは、配列全体ではなく、単一の double 値を返すことができることを示しています。また、変数「結果」は、その中に値を 1 つだけ保持します。したがって、コードの修正版は次のとおりです。

public List<Double> getAllElementsInCollection(List<Double> nameofCollection){

  List<Double> resultList = new ArrayList<Double>();
  for(Double nameofDouble : nameofCollection){
    // some processing on the elements (if required)
    resultList.add(nameofDouble);
  }
  return  resultList;       

}

また、メソッドに渡される実際の引数 (LinkedList や ArrayList など) がわからない場合があるため、スーパー クラス/インターフェイス (ArrayList の代わりに List など) をパラメーターまたは戻り値の型として使用することをお勧めします。これについては、OOP の概念をよく読んでください。多型サンプル : sample1およびsample2

于 2013-03-15T18:13:37.573 に答える
0

この質問は意味がありません... ArrayList を double[] に変換しますか?

単に呼び出す:

public Double[] getAllElementsInCollection(ArrayList<Double> nameofCollection){

    return  nameofCollection.toArray(new Double[nameofCollection.size()]);

}
于 2013-03-15T17:59:27.890 に答える
0

あなたの質問は明確ではありません.「すべての要素を返す」とはどういう意味ですか? ArrayList にはすべての要素が含まれていますが、どの形式でそれらを返しますか?

あなたのコードを見ると、すべての要素の合計を意味しますか? それから、あなたはほんの少しの間違いを犯しています。コードresult = nameofDoubleは結果を置き換えるだけなので、最後が返されます。result = result + nameofDoubleまたはresult += nameofDoubleすべての要素を合計します。

于 2013-03-15T23:08:18.000 に答える