日期:2014-05-20  浏览次数:20617 次

java编程
定义一个方法,接收四个float类型的参数,如sort(float a, float b, float c, float d),将其按从大到小排序,最后生成一条sql语句,order by a,b,c,d 其中abcd是按由大到小的顺序排列的,并且就是字母abcd,不是传进来的数,如果接收的参数为1.0,2.0,3.0,4.0的话,最后生成的sql语句为 order by d,c,b,a 
求高手指点

------解决方案--------------------
public static void sort(float a,float b,float c,float d){
String[] ch={"a","b","c","d"};
Float[] f={a,b,c,d};
Map<Float,String> map=new HashMap<Float,String>();
for(int i=0;i<ch.length;i++){
map.put(f[i], ch[i]);
}

for(int j=f.length;j>0;j--){
for(int i=0;i<j;i++){
if(i<j-1){
if(f[i]<f[i+1]){
Float temp=f[i];
f[i]=f[i+1];
f[i+1]=temp;
}
}
}
}
String result="";
for(Float g:f){
result+=map.get(g);
}

System.out.println(result);
}