集合操作

来源:互联网 发布:可爱p图软件 编辑:程序博客网 时间:2024/05/16 17:24
/* 已知一个字符串"192-168-12-15"  
(1)做一个方法要求对里面的有效数据进行升序排列
(分别用自己写代码排序和调用Arrays类中的方法)
(2)做一个方法把排序后的数组转成一个字符串(分别用自己写代码排序和调用Arrays类中的方法)
(如果是这样的字符串呢? "192--168---12-15" )

注意:要求加入健壮性判断*/


import java.util.Arrays;


public class MyText4 {
public static void main(String[] args) {
/* 已知一个字符串"192-168-12-15"  
(1)做一个方法要求对里面的有效数据进行升序排列
(分别用自己写代码排序和调用Arrays类中的方法)
(2)做一个方法把排序后的数组转成一个字符串(分别用自己写代码排序和调用Arrays类中的方法)
(如果是这样的字符串呢? "192--168---12-15" )
注意:要求加入健壮性判断*/
//getSort();
int []arr =getSort();
String str=setString(arr);
System.out.println("字符串");
System.out.println(str);

int []arr2 =getSort2();
String str2=setString(arr2);
System.out.println("===================");
System.out.println("字符串");
System.out.println(str2);

}

       //转换为String
private static String setString(int []arr) {
String str = "";
for (int i = 0; i < arr.length; i++) {
str+=arr[i]+" ";
}
return str;
}

       //进行排序操作
private static int[]  getSort() {

               //已知字符串
String str = "192-168-12-15";

               //进行分割
String[] newStr = str.split("\\-");

                //定义一个int 数组
int[] intArr = new int[newStr.length];
                 //遍历字符串数组 转换为int 数组
for (int i = 0; i < newStr.length; i++) {

                         //放值进int数组
intArr[i] = Integer.parseInt(newStr[i]);
}

               //调用自己写的排序方法
Sort(intArr);

                //换行
System.out.println();

                 //调用系统内置的
Arrays.sort(intArr);

                //进行遍历
for (int i : intArr) {
System.out.print(i + " ");
}
return intArr;  //返回排序后的数组
}

       //第二问
private static int[]  getSort2() {

                  //同上的思路

String str = "192---168---12-15";
String[] newStr = str.split("\\-+");
int[] intArr = new int[newStr.length];
for (int i = 0; i < newStr.length; i++) {
intArr[i] = Integer.parseInt(newStr[i]);
}
Sort(intArr);
System.out.println();
Arrays.sort(intArr);
for (int i : intArr) {
System.out.print(i + " ");
}
return intArr;
}

//自己写的排序方法  选择排序
private static void Sort(int[] intArr) {
for (int i = 0; i < intArr.length-1; i++) {
for (int j = i+1; j < intArr.length; j++) {
if(intArr[i]>intArr[j]){
int temp=intArr[i];
intArr[i]=intArr[j];
intArr[j]=temp;
}
}
}

             //循环遍历 输出数组的值
for (int i : intArr) {
System.out.print(i+" ");
}
}




}

原创粉丝点击