为了账号安全,请及时绑定邮箱和手机立即绑定

交一下作业,请求大佬给给意见

/**	* 创建产生随机字符串的方法	
* @param args	
*/	
public String GetRandomString(int length) {		
    StringBuffer string=new StringBuffer();		
    String base="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";			
    Random r=new Random();		
    int k;  
    int l=base.length();		
    for(int i=0;i<length;i++) {
	    k=r.nextInt(l);
	    string.append(base.charAt(k));
    }			
    return string.toString();	
}		
/**	
* 创建String泛型List,并进行排序	
* @param args	
*/	
public void TestRandomStringSort() {
	List<String> stringlist=new ArrayList<String>();		
	Random le=new Random();		
	String string;		
	int length=0;		
	for(int i=0;i<10;i++) {			
	    do{				
	    length=le.nextInt(10);		//随机产生整数作为字符串长度,长度不为0	
	    }while(length==0);	
						
	    do {				
	    string=GetRandomString(length);	    //调用随机产生字符串的方法	
	    }while(stringlist.contains(string));    //字符串不能重复			
	    stringlist.add(string);								
    }		
    
    System.out.println("--------------排序前--------------");		
    for (String stringl : stringlist) {			
        System.out.println("有字符串:"+stringl);		
    }		
    Collections.sort(stringlist);		
    System.out.println("--------------排序后--------------");		
    for (String stringl : stringlist) {			
        System.out.println("有字符串:"+stringl);		
        }			
}


正在回答

5 回答

都是一样刷课,为何你如此优秀。。想不到想不到。。

0 回复 有任何疑惑可以回复我~


 /**
  * 随机生成10个字符串:这些字符串长度可以不同,字符可以重复,但是不能有两个相同的字符串 然后对随机生成的10个字符串排序,要求输出排序前与排序后的列表序列
  */
 public void StringSort2() {
  Random r = new Random();
  int[] pool = new int[3];
  
  for (int j = 0; j < 10; j++) {
   String str = new String();
   do {
    /* 长度随机 */
    int lengthRand = r.nextInt(10) + 1; // 产生1-10(包括10)之间的随机数
    /* 字符随机 */
    for (int i = 0; i < lengthRand; i++) {
     int a = (int)(r.nextDouble() * 26) + 97; // 小写字母ASCII码值序列
     int b = (int)(r.nextDouble() * 26) + 65; // 大写字母ASCII码值序列
     int c = r.nextInt(10); // 0-9的数字
     pool[0] = a;
     pool[1] = b;
     pool[2] = c;
     int temp = pool[r.nextInt(3)];
     if (temp > 9) {
      char temps = (char) temp;
      str = str+temps;
     } else {
      str = str+temp;
     }

    }
   } while (stringSort.contains(str));
   stringSort.add(str);
   System.out.println("添加了字符串"+str);
  }
  System.out.println("排序前:");
  for (String str2:stringSort) {
   System.out.println(str2);
  }
  Collections.sort(stringSort);
  System.out.println("排序后:");
  for (String str2:stringSort) {
   System.out.println(str2);
  }
 }

 public static void main(String[] args) {
  CollectionsTest test = new CollectionsTest();
  // test.addSort1();
  // test.StringSort1();
  test.StringSort2();

 }

}


0 回复 有任何疑惑可以回复我~
#1

盘他就是了

= =你代码漏了一段构造泛型
2019-02-18 回复 有任何疑惑可以回复我~

public class Text {

String num= "123456789qwertyuiopasdfgh"

+ "jklasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";

public List<String> ch;

public Text() {

ch=new ArrayList<String>();

}

public void add() {

int n=num.length(); //字符长度

Random a=new Random();

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

String at="";

String aa=new String();

do{

for(int j=0;j<(a.nextInt(10)+1);j++) {

at=num.charAt(a.nextInt(n))+"";

aa+=at;

}

}while(ch.contains(aa));

ch.add(aa);

}

Collections.sort(ch);

for(String aa:ch) {

System.out.println(aa);

}

}


0 回复 有任何疑惑可以回复我~

完美,nice

0 回复 有任何疑惑可以回复我~

亲,同是新人,我看着你的代码没有什么问题。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

交一下作业,请求大佬给给意见

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信