2017-06-05 11 views
0

ここではすべての例を見てきましたが、私の質問には全く答えません。私はGroovyをとても新しくしています。浮動小数点数の配列の中央値を求める

239.99などの浮動小数点数のリストや配列のようなものを作成したいと思います。

次に、その配列またはリストを、その配列または数値のリストの中央値を決定するメソッドに渡したいとします。合計サイズは異なります。

これを行うためのすばやく簡単なコードはありますか?各数値を配列またはリストに追加するにはどうすればいいですか?また、倍数を使用する必要がありますか?

何か助けていただければ幸いです。

ありがとうございます!

+1

http://www.javaworld.com/article/2073174/groovy--means--medians--modes--and-ranges-calculations.html – Rao

+0

この例の唯一の問題は、 Groovyスクリプト、Groovyプログラム/プロジェクトを使用しています。中央値や平均などの変数のいくつかは定義されていません。彼らは浮かんで、整数、文字列、綿毛の巨大なボールですか?私が必要とするものに翻訳されません。 – Sulteric

+0

私はそのほとんどが動作するようになっていますが、中央値式は私に厄介なエラーを与えています。 median = numberItems%2!= 0?値[midNumber]:(値[midNumber] +値[midNumber-1])/ 2 – Sulteric

答えて

0

次の関数は、空でないリストのmedianを決定します。

def median(data) { 
    def copy = data.toSorted() 
    def middle = data.size().intdiv(2) 

    // you can omit the return in groovy for the last statement 
    data.size() % 2 ? copy[middle] : (copy[middle - 1] + copy[middle])/2 
} 

追加と分割をサポートするすべてのタイプで動作します。例えば

:あなたがリストで何ができるかという点で

assert median([1, 7, 4, 3]) == 3.5 
assert median([1, 7, 4]) == 4 
assert median([1, 7]) == 4 
assert median([1]) == 1 
assert median([1.7, 3.4, 10.9, 4.2]) == 3.8 

Lists overviewをチェックしList API

+0

3行目は通過しません。 msgstr "シンボルintdivを解決できません" msgid。 – Sulteric

+0

これは働いていますmidNumber =(int)(numberItems/2) – Sulteric

+0

あなたはどんなグルーヴなバージョンを使用していますか、どのコンテナをメディアン関数に渡しますか? – mfuchs

関連する問題