随机生成字符串

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

慕村8785123

2015-12-11 19:13

eclipse有现成的随机生成限定长度的字符串的方法吗?如果有,方法名是什么,在哪里调用,有知道的朋友麻烦告诉下,不胜感激

写回答 关注

2回答

  • 惫懒sloth
    2015-12-11 19:28:58
    已采纳

    没有现成的方法,你必须要自己写个,给个例子

    import java.util.Random;  
      
    public class Demo {  
        public static void main(String args[]){  
            Demo demo = new Demo();  
            System.out.println(demo.getRandomString(20));  
        }  
          
        public static String getRandomString(int length) {   
            StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");   
            StringBuffer sb = new StringBuffer();   
            Random random = new Random();   
            int range = buffer.length();   
            for (int i = 0; i < length; i ++) {   
                sb.append(buffer.charAt(random.nextInt(range)));   
            }   
            return sb.toString();   
        }  
    }

    buffer里你可以添加别的字串

    慕村8785...

    非常感谢!

    2015-12-11 20:58:40

    共 1 条回复 >

  • DEdison
    2016-04-06 11:49:52

    package april_5;


    import java.util.ArrayList;

    import java.util.List;

    import java.util.Random;

    import java.util.Collections;


    public class StringSortTest {

    public void getRandomString() {  

    List<String>stringList=new ArrayList<String>();//建立新的string泛型List对象

    //设置随机字符串的来源范围仅  数字 和 大小写字母

            StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");   

            StringBuffer sb = new StringBuffer(); //建立stringbuffer对象,用来保存随机stringbuffer类的串

            String sb1;//建立string类对象,用于保存stringBuffer.toString后的字符串

            Random random = new Random(); //Random类对象 random

            for(int j=0;j<10;j++){//外层循环,控制产生的字符串的个数,10个字符串

                for (int i=0; i<random.nextInt(10)+1;i ++) {   //内层循环,定义随机字符串长度,[1,10]

                //根据随机的length,从源中通过charAt方法随机取得耽搁字符组成的字符串,通过append方法,以字符串叠加的形式组成一个随机字符和随机长度的字符串

                    sb.append(buffer.charAt(random.nextInt(buffer.length())));

                    }

                sb1=sb.toString();//将stringbuffer 转换成string类型

                if(!stringList.contains(sb1)){//用contains方法判断字符串是否重复

                stringList.add(sb1);//不重复,添加到stringList中

                }else

                continue;//重复,不添加,重新随机生成

                sb=new StringBuffer();//清空sb方便保存下一个字符串

                }  

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

    for (String string : stringList){ //foreach打印

    System.out.println(string);  

    }System.out.println("***************排序后**************");

       Collections.sort(stringList);//排序

    for (String string1 : stringList) {//foreach打印

    System.out.println(string1);

    }

        }  

    public static void main(String[] args) {

    //、、Random r=new Random();

    StringSortTest ss1=new StringSortTest();

    ss1.getRandomString();

    }

    }


Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题