对字符串“1,2,3,4,5,6,7,8,9,10”进行从大到小,或者从小到大进行排序然后查找出字符‘9’这个怎么做啊  希望高手帮我解决一下啊

解决方案 »

  1.   


    String str = "1,2,3,4,5,6,7,8,9,10";
    List strList = new ArrayList(Arrays.asList(str.split(",")));
    for(int i=0;i<strList.size();i++){
       System.out.println(strList.get(i));
    }
    就样就行了 
      

  2.   

    String s = "1,2,3,4,5,6,7,8,9,10";
    String[] arr = s.split(",");
    Arrays.sort(arr);//排序
    //输入你想找的数字:
    String searchNum = new Scanner(System.in).next();
    for(String str : arr){
        if(searchNum.equals(str)){
            System.out.println(str);
            break;
        }
    }
      

  3.   


    不行啊。必须要转成int进行比较,不然10就比2小了。
      

  4.   


    package com.xuz.csdn.worldcup.day2;import java.util.Arrays;public class NumberSort { public static void main(String[] args) {
    String s = "1,2,3,4,5,6,7,10,100";
    String[] arr = s.split(",");
    int[] arr2 = new int[arr.length];
    for (int i = 0; i < arr2.length; i++) {
    arr2[i] = Integer.parseInt(arr[i]);
    }
    Arrays.sort(arr2);//排序
    for (int i : arr2) {
    System.out.println(i);
    }
    }}
    查找用二分吧,因为已经排序了。
      

  5.   

    int testvalue =9;
    int low=0;
    int upp=arr2.length-1;
    int index=-1;
    while(low<=upp){
    int mid = (low+upp)/2;
    if(arr2[mid]>testvalue){
    upp--;
    }else if(arr2[mid]<testvalue){
    low++;
    }else if(arr2[mid]==testvalue){
    index=mid;
    break;
    }
    }
    if(index==-1){
    System.out.println("cannot found : "+testvalue);
    }else
    System.out.println("value is: "+arr2[index]);