问答详情
源自:6-5 应用 Collections.sort() 实现 List 排序

为啥我做的练习不出结果呢?

可能有的东西学了忘了,导致我找不出问题所在,请大家指教    ~~

public void testSort3(){

List<String> stringList2=new ArrayList<String>();

String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

   for(int j=0;j<10;j++){

    Random random=new Random();

    int a=random.nextInt(11);

   StringBuilder str1=new StringBuilder();

   for(int i=0;i<a;i++){

    int b=random.nextInt(str.length()+1);

    str1.append(str.substring(b, b));

   }

   String str2=str1.toString();

stringList2.add(str2);

   }

   for (String string : stringList2) {

System.out.println(string);

}

}


提问者:leeu 2016-07-29 16:12

个回答

  • qq_少年心
    2016-07-29 16:24:39
    已采纳

    import java.awt.List;
    import java.util.ArrayList;
    import java.util.Random;
    
    public class testSort3{
    	public static void main(String args[]){
    		ArrayList<String> stringList2=new ArrayList<String>();
    String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
       for(int j=0;j<10;j++){
       	Random random=new Random();
       	int a=random.nextInt(11);
       StringBuilder str1=new StringBuilder();
       for(int i=0;i<a;i++){
       	int b=random.nextInt(str.length()+1);
       	str1.append(str.substring(b, b));
       }
       String str2=str1.toString();
    stringList2.add(str2);
       }
       for (String string : stringList2) {
    System.out.println(string);
    	}
    }

    你格式写的就不对,像我这样改

  • Curry_Coder
    2016-10-30 16:11:46

    public void testSort3(){

    List<String> stringList = new ArrayList();

    Random random = new Random();

    String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    // System.out.println(str);

    for (int i = 0; i < 10; i++) {

    int length = random.nextInt(11);

    StringBuilder str1 = new StringBuilder();

    for (int j = 0; j < length; j++) {

    int  b = random.nextInt(str.length()-1);

    str1.append(str.substring(b, b+1));

    }

    String str2 = str1.toString();

    // System.out.println(str2);

    stringList.add(str2);

    }

    System.out.println("----------排序前------------");

    for(String string : stringList){

    System.out.println(string);

    }

    Collections.sort(stringList);

    System.out.println("----------排序后-------------");

    for(String string : stringList){

    System.out.println(string);

    }

    }


  • leeu
    2016-07-30 09:12:36

    应该是

    str.length()-1;

    str.subtring(b,b+1);