回答編集履歴
2
追記
answer
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
|
14
14
|
---
|
15
15
|
2018/04/05追記
|
16
|
-
質問文の追記ソースコードは変数:`average`を`int`型で宣言しているため、`data`が`{1,2}`の時に算術平均が1となり正しく算出されません。
|
16
|
+
質問文の追記ソースコードは変数:`average`と変数:sumを`int`型で宣言しているため、`data`が`{1,2}`の時に算術平均が1となり正しく算出されません。
|
17
17
|
変数を`double`型もしくは[java.math.BigDecimal](https://docs.oracle.com/javase/jp/8/docs/api/java/math/BigDecimal.html)クラスで宣言するか以下のコードでも可能です。
|
18
18
|
|
19
19
|
```Java
|
1
算術平均の算出に関して
answer
CHANGED
@@ -9,4 +9,21 @@
|
|
9
9
|
0. dataとsampleの比較部分はforループで回すか、LouiS0616さんの回答の通り基数を掛け算して比較するという手も使えます。
|
10
10
|
|
11
11
|
見やすさと初学者さんへのわかりやすさもソースコードの一つの指標ですが、
|
12
|
-
個人的には**コードがテストしやすいかどうか(テスト容易性)**も重要なポイントではと個人的に思います。
|
12
|
+
個人的には**コードがテストしやすいかどうか(テスト容易性)**も重要なポイントではと個人的に思います。
|
13
|
+
|
14
|
+
---
|
15
|
+
2018/04/05追記
|
16
|
+
質問文の追記ソースコードは変数:`average`を`int`型で宣言しているため、`data`が`{1,2}`の時に算術平均が1となり正しく算出されません。
|
17
|
+
変数を`double`型もしくは[java.math.BigDecimal](https://docs.oracle.com/javase/jp/8/docs/api/java/math/BigDecimal.html)クラスで宣言するか以下のコードでも可能です。
|
18
|
+
|
19
|
+
```Java
|
20
|
+
import java.util.stream.IntStream;
|
21
|
+
|
22
|
+
public class A120426 {
|
23
|
+
public static void main(String[] args) {
|
24
|
+
int[] data = { 1, 2 };
|
25
|
+
double average = IntStream.of(data).average().orElseThrow(null);
|
26
|
+
System.out.println(average);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
```
|