您的位置:首页 > 其它

求n个正整数连接成一排,组成一个最大的多位整数

2017-09-05 13:01 274 查看
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。

如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。

import java.util.Scanner;
public class ReversePrint {

public static void main(String[] args) {
System.out.println("请至少输入两个数字,用空格隔开");
Scanner scanner1 = new Scanner(System.in);
String[] s = scanner1.nextLine().split(" ");
new ReversePrint().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;
}
}
}
输出:
请至少输入两个数字,用空格隔开
12 45 9 5 7 44
975454412

解题思路:
其实这就是个字符串的冒泡排序,如果字符串A+B>B+A那么认为A>B

以此为准则,采用冒泡排序的方法将字符串按大小排序,然后输出就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐