这是我的代码

来源:6-5 应用 Collections.sort() 实现 List 排序

kopite

2015-11-07 21:47

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);


写回答 关注

2回答

  • 一个什么样的人
    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);     这样程序更加灵活一些。

    Dust2

    random.nextint(10)的意思不是随机生成大于等于0小于10的整形数么0.0 这样的话应该不会去到11吧

    2015-11-30 10:43:31

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题