黑马程序员技术交流社区
标题:
基础视频day13基本数据包装类练习
[打印本页]
作者:
不怕黑人
时间:
2015-7-23 12:20
标题:
基础视频day13基本数据包装类练习
/**
* 题目:对一个字符串中的数值进行从小到大的排序。
* 思路:先要将字符串转换为int型数组,定义一个正则表达式进行切割,这里用冒泡排序(Arrays.sort()方法排序更简单),之后再转回为字符串。
*@author
*/
public class Day13Test4 {
private static final String REG_SPACE = " +";
public static void main(String[] args) {
String str = "32 53 25 65 -3 5";
//定义一个实现排序的方法。
String str1 = sortStingArray(str);
System.out.println(str1);
}
public static String sortStingArray(String str) {
//定义一个将字符串转为int型数组的方法。
int[] num_arr = stringToIntArray(str);
//定义一个排序方法。
int[] num_arr1 = sortIntArray(num_arr);
//定义一个将int型数组转为字符串的方法。
String str1 = intArrayToString(num_arr1);
return str1;
}
public static String intArrayToString(int[] num_arr1) {
//创建StringBuilder转换字符串。
StringBuilder sb = new StringBuilder();
for(int i = 0; i<num_arr1.length ;i++){
if(i!=num_arr1.length-1)
sb.append(num_arr1[i]+" ");
else
sb.append(num_arr1[i]);
}
return sb.toString();
}
public static int[] sortIntArray(int[] num_arr) {
//冒泡排序。
for (int x = 0;x<num_arr.length;x++){
for (int y = 0;y<num_arr.length-x-1;y++){
if (num_arr[y]>num_arr[y+1])
swap(num_arr,y,y+1);
}
}
return num_arr;
}
//换位方法。
private static void swap(int[] num_arr, int y, int i) {
int temp = num_arr[y];
num_arr[y] = num_arr[y+1];
num_arr[y+1] = temp;
}
//切割方法。
public static int[] stringToIntArray(String str) {
String[] arr = str.split(REG_SPACE);
int[] num_arr = new int[arr.length];
for (int i = 0; i<arr.length;i++){
num_arr[i] = Integer.parseInt(arr[i]);
}
return num_arr;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2