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

大神求助求指正,真心求助了。
要求是:输入一个数,将其升序排列好:”sorting(一个数)“,传回(从小到大排好的一个数)
例如:”sorting(‘132554769980’) “传回 ‘012345567899’

我想过用int一个变量把它存下来,然后不停的去%10,再进行冒泡排序排出来。。。
但是它的大小超过了最大值啊,大神们怎么办哦?
无奈之下,我写出了这个东西:
public class sorting{
public static void main(String[] args){
int[] z={1,3,2,5,5,4,7,6,9,9,8,0};
for(int i=0;i<z.length-1;i++){
for(int j=0;j<z.length-1;j++){
if(z[j]>z[j+1]){
int zj=z[j+1];
z[j+1]=z[j];
z[j]=zj;
}
}
}
for(int i=0;i<z.length;i++){
System.out.print(z[i]);
}
}
}

真心求助应该怎么做呢?
------解决方案--------------------
没有必要自己写的直接利用Arrays类   Arrays.sort(z);就OK
------解决方案--------------------
想多了吧,这样就行
String s = "132554769980";
char[] c = s.toCharArray();
Arrays.sort(c);
System.out.println(Arrays.toString(c));