冒泡排序(有一个数组 int[] array = {2,3,67,9,45}; 将其排列成9765432)

大概思路:

  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 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值