用java创建评级系统
我试着给一系列数字打分,比如[2977208409031170],从1到10,10是最低的,1是最高的 所以list.get(0)应该是9/10或10/10,list.get(2)应该是10中的5或6用java创建评级系统,java,statistics,rating,Java,Statistics,Rating,我试着给一系列数字打分,比如[2977208409031170],从1到10,10是最低的,1是最高的 所以list.get(0)应该是9/10或10/10,list.get(2)应该是10中的5或6 如何在java中做到这一点?我建议这样做:note=10-9*(value-minValue)/(maxValue-minValue) 我建议如下:note=10-9*(value-minValue)/(maxValue-minValue) 你只需要一个排序的列表吗?如果是这样的话,请看或者我已经
如何在java中做到这一点?我建议这样做:
note=10-9*(value-minValue)/(maxValue-minValue)
我建议如下:
note=10-9*(value-minValue)/(maxValue-minValue)
你只需要一个排序的列表吗?如果是这样的话,请看或者我已经对列表进行了排序。我只需要想一想如何给列表中的数字打10分。得到(I),评分是10-I。给它打10分的标准是什么。我是说这个算法?你想要
rate(I)=value(I)/max
还是rate(I)=I/count
?或者完全其他的东西?你只是想要一个排序的列表吗?如果是这样的话,请看或者我已经对列表进行了排序。我只需要想一想如何给列表中的数字打10分。得到(I),评分是10-I。给它打10分的标准是什么。我是说这个算法?你想要rate(I)=value(I)/max
还是rate(I)=I/count
?或者完全其他的东西?这很好用,所以我要用它。谢谢你的帮助这很好,所以我要用它。谢谢你的帮助
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]