Java 输入N个数,输出这些数组成的最大数

Java 输入N个数,输出这些数组成的最大数

接受从控制台传入的N个整数,将N个整数合并组成为一个最大的数。
举例1:输入: 3
4
23
5
输出:5423
----------------------
举例2:输入: 5
9
345
23
17
0
输出:934523170**

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author DokaDake
 * @time 2019年7月17日 下午2:56:48
 */
public class Test {
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int length = sc.nextInt();
        String result = "";
        List list = new ArrayList<>();
        for(int i = 0; i < length; i++){
            list.add(sc.next());
        }
        sc.close();
        list.sort((String s1, String s2) -> s1.startsWith(s2) ? 1 : s2.startsWith(s1) ? -1 : -s1.compareTo(s2));
        if(list.size() > 0 && !"0".equals(list.get(0)))
            for(String s : list) result +=  s;
 
        System.out.print(result.equals("") ? "0" : result);
    }
}

Java 输入N个数,输出这些数组成的最大数_第1张图片

你可能感兴趣的:(java)