java由大到小排序

从小到大排序我会
Arrays.sort();这个方法就能解决
我要是实现从大到小排序 有没有方法直接的 一下就出来的
倒。。。实现当然会写,我问这个问题就是为了能实现这个功能,问问有没有这个方法。。。

先定义一个有指定大小的数组
int[] a=new int[n];//n是数组大小
然后有Scanner输入数组成员
接下来是排序
int x,y,z;//x,y控制循环 z是一个容器变量
for(x=1;x<n;x++){
for(y=0;y<n-x;y++){
if(a[y]<a[y+1]){//这是从大到小的顺序如果是从小到大只用改动比较运符的方向
z=a[y];
a[y]=a[y+1];
a[y+1]=z;
}
}
}
然后用for语句来输出
for(x=0;x<n;x++)
System.out.println(a[x]);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-06
public static <T> void sort(T[] a,
Comparator<? super T> c)根据指定比较器产生的顺序对指定对象数组进行排序。数组中的所有元素都必须是通过指定比较器可相互比较的(也就是说,对于数组中的任何 e1 和 e2 元素而言,c.compare(e1, e2) 不得抛出 ClassCastException)。
保证此排序是稳定的:不会因调用 sort 方法而对相等的元素进行重新排序。

该排序算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素小于高子列表中的最低元素,则忽略合并)。此算法提供可保证的 n*log(n) 性能。

参数:
a - 要排序的数组
c - 确定数组顺序的比较器。null 值指示应该使用元素的自然顺序。
抛出:
ClassCastException - 如果数组包含使用指定的比较器不可相互比较的 的元素
第2个回答  2008-12-06
这问题简单啊 你先Arrays.sort();从小到大排序 再从尾到头输出就行啊 呵呵
写程序多用用脑子 吧问题转化一下嘛
第3个回答  2008-12-06
好像没有.
如果要用的话也没好复杂,倒着循环就是了.本回答被提问者采纳
第4个回答  2008-12-07
自己写个方法,内容:
for(int i=0;i<=n;i++)//n是原数组的size
B[i]=A[n-i];
相似回答