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

这是我的代码

List<String> st=new ArrayList<String>();
		String b="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM0123456789";
		Random random=new Random();
		for(int i=0;i<10;i++){
			String a="";
			do{
				//首先随机0~10的数字来确定长度
				int c=random.nextInt(10)+1;
				for(int j=0;j<c;j++){
					//随机生成0-61的数字,取出b字符串里面相对应位置的字符添加到a里面
					int t=random.nextInt(61);
					a=a+b.charAt(t);
				}
			}while(st.contains(a));
			st.add(a);
			System.out.println("将要添加字符串:"+a);


提问者:kopite 2015-11-07 21:47

个回答

  • 一个什么样的人
    2015-11-14 12:39:37

    while条件好像写错了,个人认为应该是while(!st.contains(a))

  • 任e逍遥
    2015-11-11 16:15:19

    有两个建议:

    1. 建议把int c=random.nextInt(10)+1;      改成int c=random.nextInt(9)+1;      这样就不会生成11位的String了。

    2. 建议把int t=random.nextInt(61);       改成int t=random.nextInt(b.length()-1);     这样程序更加灵活一些。