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

随机生成字符串

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

正在回答

2 回答

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

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里你可以添加别的字串

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

慕村8785123 提问者

非常感谢!
2015-12-11 回复 有任何疑惑可以回复我~

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

}

}


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

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

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

进入课程

随机生成字符串

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