题目描述:设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
代码如下:
package practise;
import java.util.*;
public class Main {
public static void main(String[] args) {
// 数串
System.out.println("请至少输入两个数字,用空格隔开:");
Scanner sc=new Scanner(System.in);
String[] s=sc.nextLine().split(" ");
new Main().zuhe(s);
}
private void zuhe(String[] array) {
String temp;
for(int i=0;i<array.length-1;i++){
for(int j=0;j<array.length-1-i;j++){
if (!compare(array[j] ,array[j+1])) { //比较排序
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
String sum = "";
for(int i=0;i<array.length;i++){
sum += array[i]; //排序的字符串相加成串
}
System.out.println(sum);
}
public boolean compare(String o1, String o2) { //利用字符串相加比较大小
if(((o1 + o2).compareTo(o2 + o1)) > 0) {
return true;
} else {
return false;
}
}
if(((o1 + o2).compareTo(o2 + o1)) > 0) {
return true;
} else {
return false;
}
}
}
实例:
输入——
2
12 123
4
7 13 4 246
输出——
12 123
4
7 13 4 246
输出——
12312
7424613
7424613
第二篇哦,新手小白,面临就业日常焦虑,不如踏实刷题,每日一刷每日一汇总,借鉴别人思路,欢迎学习交流参考,共同进步,提高菜鸟代码能力!