大概思路:
1.先将数组转换成字符串拼接;2.将字符串拆成数组,为了之后的排序
3.冒泡排序或者是工具类排序
1 package com.jxdyf.h5.controller.www; 2 3 import java.util.Arrays; 4 5 public class Test { 6 7 /* 8 * 有一个数组 int[] array = {2,3,67,9,45}; 将其排列成9765432 9 * 10 */ 11 // 实现方法一: 12 public static Integer getNum() { 13 int[] array = { 2, 3, 67, 9, 45 }; 14 Integer number = null; 15 // 1将数组转换成字符串 16 StringBuffer buffer = new StringBuffer(); 17 for (int i = 0; i < array.length; i++) { 18 buffer.append(array[i]); 19 } 20 // 2将字符串转换成int类型的数组 21 int[] tempArray = new int[buffer.length()]; 22 String string = buffer.toString(); 23 24 for (int a = 0; a < string.length(); a++) { 25 char dd = string.charAt(a); 26 String ee = dd + ""; 27 tempArray[a] = Integer.valueOf(ee); 28 } 29 // 3冒泡排序 30 for (int j = 0; j < tempArray.length - 1; j++) { 31 for (int k = 0; k < tempArray.length - j - 1; k++) { 32 if (tempArray[k] < tempArray[k + 1]) { 33 int temp = tempArray[k + 1]; 34 tempArray[k + 1] = tempArray[k]; 35 tempArray[k] = temp; 36 } 37 } 38 } 39 StringBuffer sbuffer = new StringBuffer(); 40 for (int m = 0; m < tempArray.length; m++) { 41 sbuffer.append(tempArray[m]); 42 } 43 String string2 = sbuffer.toString(); 44 number = Integer.valueOf(string2); 45 return number; 46 } 47 //实现方式二 48 public static Integer getNum2() { 49 int[] array = { 2, 3, 67, 9, 45 }; 50 Integer number = null; 51 // 1将数组转换成字符串 52 StringBuffer buffer = new StringBuffer(); 53 for (int i = 0; i < array.length; i++) { 54 buffer.append(array[i]); 55 } 56 // 2分割 57 char[] arr = buffer.toString().toCharArray(); 58 // 3排序 59 Arrays.sort(arr); 60 // 4组装成一个字符串 61 StringBuffer buf = new StringBuffer(); 62 for (int k = arr.length - 1; k >= 0; k--) { 63 buf.append(arr[k]); 64 } 65 number = Integer.valueOf(buf.toString()); 66 return number; 67 } 68 //调用上述方法输出 69 public static void main(String[] args) { 70 Integer num = getNum(); 71 System.out.println(num); 72 Integer num2 = getNum2(); 73 System.out.println(num2); 74 75 } 76 77 }