-
哔哔one
你可以这样做: package test; public class Test2 { public static void main(String[] args) throws Exception { String number = "153004"; String sorted = sortStringNumbers(number); System.out.println(sorted); } private static String sortStringNumbers(String numbersString) { return numbersString.chars().mapToObj(c -> Character.toString((char)c)).sorted().collect(Collectors.joining()); } }输出:001345
-
慕的地6264312
您可以将您的 int 转换为一个 String 并拆分成一个数组,接下来只需对流进行排序并加入一个 String。String[] number = "190".split("");String list = Stream.of(number).sorted().collect(Collectors.joining());System.out.println(list); //Output: 019
-
长风秋雁
您可以使用号码的数字创建一个列表并对该列表进行排序。List<Integer> nums=new ArrayList<>();for(int num=toSort;num>0;num/=10){ nums.add(num%10);}Collections.sort(nums);String result="";//If you want the result to be a integer (e.g. 190 will convert into 19 and not 019), change this to int result=0;for(Integer num:nums){ result+=num.intValue(); /*int: result+=num.intValue(); result×=10;*/}
-
炎炎设计
根据我对您问题的理解,您正在尝试对 int 中的数字进行排序。这可以通过转换为 CharArray、排序然后返回结果来完成。请注意,这对于负数将失败。fun sortInt(int: Int): Int =
int.toString()
.toCharArray()
.sorted()
.joinToString("")
.toInt()编辑:现在这也适用于 0 位数字。fun sortInt(int: Int): String =
int.toString()
.toCharArray()
.sorted()
.joinToString("")
-
蓝山帝景
有很多方法可以实现这一目标。这是一个:final String sorted = "190".chars() .sorted() .mapToObj(c -> Character.valueOf((char)c).toString()) .collect(Collectors.joining())和final String sorted = "190".chars() .sorted() .collect(StringBuilder::new, (sb, c) -> sb.append((char) c), StringBuilder::append) .toString();而且,作为将(我认为)在 Java 7 中工作的单行代码(不是生产代码,但很有趣)...final String sorted = Arrays.toString(new PriorityQueue<>(Arrays.asList("190".split(""))) .toArray(new String[0])) .replaceAll("\\W+", "");
-
潇湘沐
List<Integer> nums = new ArrayList<>(); String total = ""; for( int num = 190; num>0; num/=10 ){ nums.add(num%10); } Collections.sort(nums); for (Integer x : nums) { total += x.toString(); } Integer finalResult = Integer.parseInt(total); Log.i(TAG,"=== finalResult "+ finalResult); O/P : 019
-
胡子哥哥
如果你使用这个,你应该小心:sortInt(190)fun sortInt(int: Int): Int =
int.toString()
.toCharArray()
.sorted()
.joinToString("")
.toInt()输出将是 19 而不是 019