- package com.itcast.test4;
- public class IntegerTest {
- /**
- * @param args
- */
- public static void main(String[] args) {
- //练习:将字符串"34 -12 56 93 27",排序后形成"-12 27 34 56 93"
- //思路:
- /*
- * 1.要提取出字符串中的每个数字,发现每个数字之间用一个空格隔开,我们可以用这个空格作为标记,解析字符串,生成字符串数组
- * String->split(String )
- *
- * String[] strArray = str.split(" ");
- * 2.遍历数组,将数组中的每个元素转换为int,然后进行比较,
- * 3.比较后,将数组排序;
- *
- */
- String str = "34 -12 56 93 27";
-
-
- String[] strArray = str.split(" ");
- /*****遍历数组的方式******/
- System.out.println("普通for打印:");
- for(int i = 0 ; i < strArray.length ; i++){
- String s = strArray[i];
- System.out.println(s);
- }
- /****使用for..each循环(增强for循环)****/
- System.out.println("增强for打印:");
- //当不关心索引值的时候,不需要索引值,时,可以考虑使用for..each循环
- for(String s : strArray){
- System.out.println(s);
- }
- System.out.println("*************************");
- //遍历数组,排序
- for(int i =0 ;i < strArray.length ; i++){
- for(int j = i + 1 ; j < strArray.length ; j++){
- int n1 = Integer.parseInt(strArray[i].trim());
- int n2 = Integer.parseInt(strArray[j].trim());
- if(n1 > n2){
- String s = strArray[i];
- strArray[i] = strArray[j];
- strArray[j] = s;
- }
- }
- }
- //封装字符串
- StringBuffer buf = new StringBuffer();
- for(int i = 0; i < strArray.length ; i++){
- if(i == 0){
- buf.append(strArray[i]);
- }else{
- buf.append(" ").append(strArray[i]);
- }
- }
-
-
- System.out.println(buf.toString());
-
-
- }
- }
复制代码
|
|