if (a[j][0]== i) {
で、a[j][0] は double、i は 1~5 の整数ですが、
double の a[i][0] は整数の i と必ず一致するという条件はあるのでしょうか?
コメントをお願いします。
Java
1class Sample {
2 public static void main(String args[]) {
3 double[][] a = {{1,2.2},{5,4.2},{5,6.2},{1,1.5},{3,6.4}};
4
5 int[] count = new int[5];
6 for (int i = 0; i < a.length; i++)
7 count[(int)a[i][0] - 1]++;
8 int j = 0;
9 for (int i = 0; i < 5; i++) {
10 System.out.println((i+1) + ": " + count[i] + "個");
11 if (count[i] > count[j]) j = i;
12 }
13 System.out.print("最頻値:");
14 for (int i = 0; i < 5; i++)
15 if (count[i] == count[j]) System.out.print(" " + (i+1));
16 System.out.println();
17 }
18}
a[i][0] が任意の double の値なら、Map を使って、
Java
1import java.util.TreeMap;
2
3class Sample {
4 public static void main(String args[]) {
5 double[][] a = {{1.2, 2.2},{5.6, 4.2},{5.6, 6.2},{1.2, 1.5},{3.4, 6.4}};
6
7 TreeMap<Double, Integer> map = new TreeMap<>();
8 for (int i = 0; i < a.length; i++) {
9 Integer v = map.get(a[i][0]);
10 if (v == null) v = 0;
11 map.put(a[i][0], v + 1);
12 }
13 int m = 0;
14 for (var e : map.entrySet()) {
15 int v = e.getValue();
16 System.out.println(e.getKey() + ": " + v + "個");
17 if (v > m) m = v;
18 }
19 System.out.print("最頻値:");
20 for (var e : map.entrySet())
21 if (e.getValue() == m) System.out.print(" " + e.getKey());
22 System.out.println();
23 }
24}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/12/14 03:24
2021/12/14 05:31