0
我想評分一個數字列表,例如。 [297,720,840,903,1110,1170],其中1爲10,10爲最低,1爲最高。在java中創建評分系統
所以list.get(0)是9/10或10/10和list.get(2)將5或6 10
我怎樣才能在Java中做到這一點?
我想評分一個數字列表,例如。 [297,720,840,903,1110,1170],其中1爲10,10爲最低,1爲最高。在java中創建評分系統
所以list.get(0)是9/10或10/10和list.get(2)將5或6 10
我怎樣才能在Java中做到這一點?
我建議是這樣的: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]
這可以正常工作,因此我要使用它。感謝您的幫助 – MrSnare
你只想要一個排序列表?如果是這樣,請查看http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html#sort%28int[]%29或http://docs.oracle.com/javase/ 6/docs/api/java/util/Collections.html#sort%28java.util.List%29 –
我已經將列表排序。我只需要計算如何爲每個數字給出10分的評分。 – MrSnare
對於list.get(i)中的數字,評分爲10-i。 –