首页 > 学院 > 开发设计 > 正文

对字符串数字 进行排序操作

2019-11-08 20:00:37
字体:
来源:转载
供稿:网友

对字符串数字 进行排序操作

package sun.rain.amazing;import org.junit.Test;/** * 字符串数字 进行排序 * 进行逆序desc 顺序排序asc * 首先将字符串转为String类型的数组 * 然后将String数组 转为 int 类型的数组 * 其次再将其 进行排序 操作 采用冒泡排序 * 最后再将排序后的数组 转为字符串 * @author sunRainAmazing * */public class StringNumberSort { public static String STR = "12 34 56 78 90 38 9 65";//中间有多个空格形式存在 public static String STR1 = "12 34 56 78 90 38 9 65";//间隔只有一个空格形式存在 @Test public void testChangeMethod(){// System.out.PRintln(getStringArray(STR)); System.out.println(getStringArray(STR).length); System.out.println( getString(getArraySortAsc( getIntArray(getStringArrayTrim(STR))))); System.out.println( getString(getArraySortDesc( getIntArray(getStringArrayTrim(STR))))); } /** * 1、将字符串转为String类型的数组 * --针对于单个空白部分 */ public static String[] getStringArray(String str){ // /s 空白字符:[ /t/n/x0B/f/r] return str.trim().split("[//s]"); } /** * 1.1、将字符串转为String类型的数组 * --针对于去除中间多个空白部分 */ public static String[] getStringArrayTrim(String str){ return getStringArray(getStringTrim(getStringArray(str))); } /** * 2、将String数组 转为 int 类型的数组 */ public static int[] getIntArray(String[] str){ int length = str.length; int[] num = new int[length]; for (int i = 0; i < length; i++) { num[i] = Integer.parseInt(str[i]); } return num; } /** * 3、将 int 类型的数组进行排序 */ public static int[] getArraySortAsc(int[] number){// Arrays.sort(number); for (int i = 0; i < number.length-1; i++) { for (int j = 1; j < number.length-i; j++) { if(number[j]<number[j-1]){ int temp = number[j]; number[j] = number[j-1]; number[j-1] = temp; } } } return number; } /** * 3、将 int 类型的数组进行排序 */ public static int[] getArraySortDesc(int[] number){// Arrays.sort(number); for (int i = 0; i < number.length-1; i++) { for (int j = 1; j < number.length-i; j++) { if(number[j]>number[j-1]){ int temp = number[j]; number[j] = number[j-1]; number[j-1] = temp; } } } return number; } /** * 4、将 int 类型的数组进行拼接成字符串 */ public static String getString(int[] number){ StringBuffer sBuffer = new StringBuffer(); for (int i = 0; i < number.length; i++) { sBuffer.append(number[i]).append("/t"); } return sBuffer.toString(); } /** * 4.1、将 String类型的数组进行去空 拼接成字符串 */ public static String getStringTrim(String[] str){ StringBuffer sBuffer = new StringBuffer(); for (int i = 0; i < str.length; i++) { //当对应的不是空的时候采用拼接 if(!"".equals(str[i])){ sBuffer.append(str[i]).append(" "); } } return sBuffer.toString(); }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表