今は理解できないかもしれませんが、Stream をつかった例を示しましす。
(for, while, iterator などをつかった回答を是非、ご自分で作ってみてください)
java
1import java.util.Arrays;
2import java.util.TreeMap;
3
4public class Kls {
5 @SuppressWarnings("serial")
6 private static final TreeMap<Integer, String> RANKS = new TreeMap<Integer, String>() {
7 {
8 put(0, "不可");
9 put(50, "良");
10 put(75, "優");
11 }
12 };
13
14 private static String rank(int score) {
15 for (Integer key : RANKS.descendingKeySet()) {
16 if (score >= key) {
17 return RANKS.get(key);
18 }
19 }
20 throw new IllegalArgumentException("score=" + score);
21 }
22
23 public static void main(String[] args) {
24 int[][] data = {
25 { 70, 40, 90 }, { 55, 65, 80 }, { 90, 45, 60 }, { 70, 30, 75 }, { 40, 60, 100 },
26 { 50, 50, 49 }, { 75, 75, 74 }, { 75, 75, 75 }
27 };
28
29 Arrays.stream(data).map(ds -> Arrays.stream(ds).average().getAsDouble())
30 .forEach(av -> System.out.println(String.format("%s\t(%.1f)", rank(av.intValue()), av)));
31 }
32}
実行結果:
良 (66.7)
良 (66.7)
良 (65.0)
良 (58.3)
良 (66.7)
不可 (49.7)
良 (74.7)
優 (75.0)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。