Java基础案例教程 第五章JavaAPI———【任务5-2】字符串排序程序设计

一、运行结果:

Java基础案例教程 第五章JavaAPI———【任务5-2】字符串排序程序设计_第1张图片

 

二、实现思路:

1、把字符串转为字符数组

   String[] arr_str = str.split(" ");

 2、把string数组转为int数组

// string ---> int
 arr_int[i] = Integer.parseInt(arr_str[i]);

3、对int数组进行排序

 Arrays.sort(arr_int);

4、把int数组转为string

StringBuffer transStr = new StringBuffer();
transStr = transStr.append(arr_int[i] + " ");
return transStr.toString(); // 不能直接return transStr ,数据类型不匹配

 

三、实现代码:

/**
 *@Title SortNumber.java
 *@time 2019年6月20日 下午1:40:33
 *@author wangyue
 *@version 1.0
 *@description 把数字字符串排序
 */
package taskSortNumber;

import java.util.Arrays;

public class SortNumber {
	public static void main(String[] args) {
		String str = new String("78 23 9 -3 -8");
		System.out.println(str);
		// 调用方法,返回从小到大排序的字符串
		String sortStr = sortString(str);
		System.out.println(sortStr);

	}

	// 返回“-8 -3 9 23 78”
	public static String sortString(String str) {
		// 1、把字符串转为字符数组
		String[] arr_str = str.split(" ");
		// 2、把string数组转为int数组
		int[] arr_int = toIntArr(arr_str);
		// 3、对int数组进行排序
		Arrays.sort(arr_int);
		// 4、把int数组转为string
		String sortStr = arrayToString(arr_int);
		return sortStr;
	}

	// 把string数组转为int数组
	public static int[] toIntArr(String[] arr_str) {
		// 创建int数组
		int[] arr_int = new int[arr_str.length];
		for (int i = 0; i < arr_int.length; i++) {
			// string ---> int
			arr_int[i] = Integer.parseInt(arr_str[i]);

		}
		return arr_int;
	}

	// 把int数组转为string
	public static String arrayToString(int[] arr_int) {
		StringBuffer transStr = new StringBuffer();
		for (int i = 0; i < arr_int.length; i++) {
			// 不是最后一个数字
			if (i != arr_int.length - 1) {
				transStr = transStr.append(arr_int[i] + " ");
			} else {
				// 是最后一个数字
				transStr = transStr.append(arr_int[i]);
			}

		}
		return transStr.toString(); // 不能直接return transStr ,数据类型不匹配

	}

}

 

 

你可能感兴趣的:(JAVA编程基础)