16-05-常用对象API(基本数据类型对象包装类-练习)

来源:互联网 发布:工具书下载网络 编辑:程序博客网 时间:2024/05/14 09:51
package cn.itcast.wrapper.cast;public class WrapperTest {private static final String SPACE_SEPARATOR = " ";public static void main(String[] args) {/* * 【题目】 对一个字符串中的数值进行从小到大排序 "20 78 9 -7 88 36 29" *  * 【思路】 1.排序问题 *  * 2.如何获取到这个字符串中的这些需要排序的数值? 发现这个字符串中其实都是用空格来对数值进行分割的, * 所以想到用字符串对象的切割方法将大串变成多个小串。 *  * 3.数值最终变成小字符串,怎么变成一个int类型的数呢? 字符串转成基本数据类型可用包装类来完成。 */String numStr = "20 78 9 -7 88 36 29";System.out.println(numStr);// 第一步,将字符串变成字符串数组(大串切割成小串)String[] str_arr = stringToArray(numStr);// 第二步,将字符串数组变成int数组int[] num_arr = toIntArray(str_arr);// 第三步,将int数组从小到大排序mySortArray(num_arr);// 第四步,将排序后的int数组变成字符串数组String s = toStringArray(num_arr);System.out.println(s);}public static String toStringArray(int[] num_arr) {StringBuilder sb = new StringBuilder();for (int i = 0; i < num_arr.length; i++) {if (i!=num_arr.length-1) {sb.append(num_arr[i]).append(SPACE_SEPARATOR);}else {sb.append(num_arr[i]);}}return sb.toString();}public static void mySortArray(int[] num_arr) {for (int i = 0; i < num_arr.length - 1; i++) {for (int j = i + 1; j < num_arr.length; j++) {if (num_arr[i] > num_arr[j]) {swap(num_arr, i, j);}}}}private static void swap(int[] num_arr, int i, int j) {int temp = num_arr[i];num_arr[i] = num_arr[j];num_arr[j] = temp;}public static int[] toIntArray(String[] str_arr) {int[] arr = new int[str_arr.length];for (int i = 0; i < arr.length; i++) {arr[i] = Integer.parseInt(str_arr[i]);}return arr;}public static String[] stringToArray(String numStr) {String[] arr = numStr.split(SPACE_SEPARATOR);return arr;}}

0 0
原创粉丝点击