如下需求给出一个整形数组,要找出组合中最大的一个数 比如121,12,212,21 最大是 2122112121
想起用冒泡排序比较方便于是列出如下代码可供参考
public static void main(String[] args) {
int a[]={121,12,212,21};
int temp=0;
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++){
if (compare(a[j],a[j+1]) == false){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++)
System.out.print(a[i]);
}
public static boolean compare(int str1,int str2){
String t1 = String.valueOf(str1);
String t2 = String.valueOf(str2);
int s1 = Integer.valueOf(t1+t2);
int s2 = Integer.valueOf(t2+t1);
boolean flag;
flag = s1>s2 ? true : false;
return flag;
}
时间: 2024-09-28 06:11:17