解题思路
定义排序规则,对字符串进行排序,然后输出即可,排序的规则为两个字符串 A,B。A在左侧B在右侧 和 B在左侧A在右侧 两个组成的数字哪个更大。
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
static class Compare implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
long val1 = Long.valueOf(o1 + o2);
long val2 = Long.valueOf(o2 + o1);
if (val1 > val2)
return 1;
else if (val1 < val2)
return -1;
else
return 0;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] data = str.split(" ");
Arrays.sort(data, new Compare());
for (int i = data.length - 1; i >= 0; i--)
System.out.print(data[i]);
System.out.println();
}
}
版权声明:本文为dingpiao190原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。