【问题标题】:Create a rating system in java在java中创建一个评级系统
【发布时间】:2013-04-04 01:06:13
【问题描述】:

我正在尝试对数字列表进行评分,例如。 [297, 720, 840, 903, 1110, 1170] 在 1 到 10 的范围内,其中 10 是最低的,1 是最高的。

所以 list.get(0) 将是 9/10 或 10/10,而 list.get(2) 将是 10 中的 5 或 6。

如何在 java 中做到这一点?

【问题讨论】:

标签: java statistics rating


【解决方案1】:

我建议类似:note = 10 - 9 * (value - minValue) / (maxValue - minValue)

    List<Integer> list = Arrays.asList(297, 720, 840, 903, 1110, 1170);
    Collections.sort(list);
    Integer min = list.get(0);
    Integer max = list.get(list.size() - 1);
    List<Integer> notes = new ArrayList<Integer>();
    for (Integer i : list) {
        notes.add(10 - (int) 9.0 * (i - min) / (max - min));
    }
    System.out.println(notes);

这给出了:

[10, 6, 5, 4, 2, 1]

【讨论】:

  • 这行得通,所以我将使用它。感谢您的帮助
猜你喜欢
  • 2021-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-12
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
相关资源
最近更新 更多