一个数字很乱的数组,怎样用java来降序排列?

代码该如何写呢?

我原来给别人做了一个ArrayList的对象的排序,
这里是按照薪水和名字进行排序的各个实现
很有参考价值!源码如下...

package 别人的程序的分析设计;

/**
* @author greatwqs
*
*/

import java.util.Collections;
import java.util.*;

public class myQuiz{
public static void main(String[] args) {
Employee e1 = new Employee("Cay",4000);
Employee e2 = new Employee("Bush",6000);
Manager m1 = new Manager ("Alice",5000);
//m1.setBonus(100000);

List<Employee> list_1=new ArrayList<Employee>();
list_1.add(e1);
list_1.add(e2);
list_1.add(m1);

System.out.println("以下按薪水排序后输出[从高到低]");
Collections.sort(list_1,new Qing());
for(Employee e:list_1)
System.out.println(e);

List<Employee> list_2 = new ArrayList<Employee>();
list_2.add(e1);
list_2.add(e2);
list_2.add(m1);

System.out.println("以下按照姓名字典顺序输出:");
Collections.sort(list_2 , new Song());
for(Employee em :list_2){
System.out.println(em);
}
}
}

class Qing implements Comparator{
public int compare(Object obj0, Object obj1){
Employee c0 = (Employee)obj0;
Employee c1 = (Employee)obj1;
if(c0.getSalary() >= c1.getSalary())
return -1;
else
return 1;
}
}

class Song implements Comparator{
public int compare(Object obj0, Object obj1){
Employee c0 = (Employee)obj0;
Employee c1 = (Employee)obj1;
return c0.getName().compareTo(c1.getName());
}
}

/******Employee and Manager *****/

class Employee
{
public Employee(String n, double s)
{
name = n;
salary = s;
}

public String getName()
{
return name;
}

public double getSalary()
{
return salary;
}

public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
}

public String toString(){
return("name: "+name+"salary: "+salary);
}

private String name;
private double salary;
}
//后面还有补充.....
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-11
可以用Arrays这个类当中的sort(int[] num)方法来对一个数组排序。
import java.util.Arrays;
class NumArrays{
public static void main(String[] args){
int[] num={3,2,5,7,1};
Arrays.sort(num);
for(int i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
}
第2个回答  2013-07-11
public class Demo{
public static void main(String[] args){
int[] array={5,4,6,7,10};
int t=0;
for(int i=0;i<array.length-1;i++)
for(int m=i+1;m<array.length;m++)
if(array[i]>array[m]){
t=array[i];
array[i]=array[m];
array[m]=t;
}
System.out.print("array中的元素从大到小的顺序是:");
for(int i=0;i<array.length;i++)
System.out.print(array[i]+" ");
}
}
第3个回答  2013-07-11
冒泡排序
static void BubbleSort(int a []){
   int temp=0;
  for (int i = 0; i < a.length ; i++) {
  for (int j = 0; j < a.length - i - 1; j++){
  if (a[j]>a[j + 1]){ //把这里改成大于,就是升序了
  temp=a[j];
  a[j]=a[j + 1];
  a[j + 1]=temp;
  }
  }
  }
  }
相似回答