结果示意图
A:案例演示
* 需求:我有如下一个字符串:”91 27 46 38 50”,
* 请写代码实现最终输出结果是:”27 38 46 50 91”
B:分析
* 1,首先要把字符串分割开用正则中的split方法
* 2,定义一个和字符串数组一样大小的int数组
* 3,把字符串数组转换成数字字符
* 4,排序,用sort方法
* 5,拼接成新的字符串
案例代码
package com.ifenx8.regex; import java.util.Arrays; public class Demo_Test { /** * A:案例演示 * 需求:我有如下一个字符串:”91 27 46 38 50”, * 请写代码实现最终输出结果是:”27 38 46 50 91” * B:分析 * 1,首先要把字符串分割开用正则中的split方法 * 2,定义一个和字符串数组一样大小的int数组 * 3,把字符串数组转换成数字字符 * 4,排序,用sort方法 * 5,拼接成新的字符串 */ public static void main(String[] args) { String s = "91 27 46 38 50"; String[] arr = s.split(" ");//分割成字符串数组 int[] arr1 = new int[arr.length];//定义一个和字符串数组等长的int数组 for (int i = 0; i < arr1.length; i++) { arr1[i] = Integer.parseInt(arr[i]);//把字符串数组转成int类型 } Arrays.sort(arr1);//把int类型的数组进行排序 //拼接成字符串的两种方法 //方法一,用string 此方法会产生垃圾,占内存 不推荐 String s2 = ""; for (int i = 0; i < arr1.length; i++) { if(i == arr1.length-1){ s2 = s2 + arr1[i]; }else{ s2 = s2 + arr1[i] + " "; } } System.out.println(s2); System.out.println("============="); //方法二,用StringBuilder StringBuilder s3 = new StringBuilder(); for (int i = 0; i < arr1.length; i++) { if(i == arr1.length){ s3.append(arr1[i]); }else{ s3.append(arr1[i] + " "); } } System.out.println(s3); } }
评论前必须登录!
注册