编写一个java程序,根据权重按降序对字符串数组进行排序。
弦的重量可以通过以下方式计算
字母A
的权重为1
,字母a的权重为-1
。字母Z
的权重为26
,而z
的字母为-26
}。
所以字符串Java
的权重为-14
。(J = 10,a = -1,v = -22,a = -1)
因此,根据权重按降序对数组进行排序。
示例输入:
3
Python Java HTML
示例输出:
Java Python HTML
注意如果两个字符串具有相同的权重,则打印在数组中首先输入的字符串
答案 0 :(得分:2)
Java是面向对象的语言,因此请使用它。这显然是你的功课,你根本不做任何事情,所以我只是给你一个暗示:
create an object with Strings, their weights and their position in the array.
sort objects bases on their weights and, for equal weight, position in array.
print sorted objects Strings.
答案 1 :(得分:0)
你的任务是
Comparator
骨架可能是这样的:
// Comparer to implement your algorithm of comparing two strings
class MyComparer implements Comparator<String> {
@Override
public int compare(String left, String right) {
//TODO: return -1 if left < right; 0 if left == right and 1 if left > right
}
}
...
// Stage 1:
ArrayList<String> items = new ArrayList<String>();
//TODO: put user input into the collection
// Stage 2:
Collections.sort(items, new MyComparer());
// Stage 3:
for(String item: items) {
//TODO: Print out item in a right format
}