输入一串数字,重新排列后输出最小数据,0不能再第一位。
package com.www.huawei;
import java.util.Arrays;
import java.util.Scanner;
public class a1 {
public static void main(String[] args) {
// Scanner sc=new Scanner(System.in);
// while (sc.hasNext()){
// String str=sc.next().substring(2);
// System.out.println(Integer.parseInt(str,16));
// }
Long aLong=7539000l;
Long result=test(aLong);
System.out.println(result);
}
public static long test(Long a){
char[] chas=a.toString().toCharArray();
Arrays.sort(chas);
for (int i = 0; i < chas.length; i++) {
System.out.print(chas[i]+" ");
}
System.out.println();
char tmp=0;
for (int i = 0; i < chas.length; i++) {
if (chas[i]!='0') {
tmp=chas[i];
chas[i]=chas[0];
chas[0]=tmp;
break;
}
}
System.out.print(chas[0]+" ");
System.out.print(chas[1]+" ");
System.out.println();
for (int i = 0; i < chas.length; i++) {
System.out.print(chas[i]+" ");
}
System.out.println();
StringBuilder sBuilder=new StringBuilder();
for (int i = 0; i < chas.length; i++) {
sBuilder.append(chas[i]);
}
return Long.parseLong(sBuilder.toString());
}
}
输出:
0 0 0 3 5 7 9
3 0
3 0 0 0 5 7 9
3000579