有如下一个字符串:”91 27 46 38 50 101 1 100 2 200 30”, 然后要求输出是"1 2 27 30 38 46 50 91 100 101 200"这样的!
进行分析:
- 定义目标字符串"91 27 46 38 50 101 1 100 2 200 30"
- 对这个字符串进行切割,得到的就是一个字符串数组(使用split()方法)
- 把字符串数组转换成int类型的数组
- 定义一个int类型的数组,数组的长度就是字符串数组长度
- 遍历字符串数组,获取每一个元素.将其转换成int类型的数据(可以parseInt())
- 把int类型的数据添加到int类型的数组的指定位置
- 排序(可用sort()方法)
- 创建一个StringBuilder对象,用来记录拼接的结果
- 遍历int类型的数组, 将其每一个元素添加到StringBuilder对象中
- 就是把StringBuilder转换成String
- 输出
代码实现:
import java.util.Arrays;
public class Test2 {
public static void main(String[] args) {
/*
* 分析:
* a: 定义目标字符串"91 27 46 38 50"
* b: 对这个字符串进行切割,得到的就是一个字符串数组
* c: 把b中的字符串数组转换成int类型的数组
* (1): 定义一个int类型的数组,数组的长度就是字符串数组长度
* (2): 遍历字符串数组,获取每一个元素.将其转换成int类型的数据
* (3): 把int类型的数据添加到int类型的数组的指定位置
* d: 排序
* e: 创建一个StringBuilder对象,用来记录拼接的结果
* f: 遍历int类型的数组, 将其每一个元素添加到StringBuilder对象中
* g: 就是把StringBuilder转换成String
* h: 输出
* */
String str = "91 27 46 38 50 101 1 100 2 200 30";
String[] arr = str.split("\\s+");
int[] newArr = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
newArr[i] = Integer.parseInt(arr[i]);
}
Arrays.sort(newArr);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < newArr.length; i++) {
sb.append(newArr[i]).append(" ");
}
String s = sb.toString().trim();
System.out.println(s);
//结果:1 2 27 30 38 46 50 91 100 101 200
}
}
(小编也在努力学习更多哟!以后再慢慢分享的啦!)
希望对友友们有所帮助!!!!