eclipse有现成的随机生成限定长度的字符串的方法吗?如果有,方法名是什么,在哪里调用,有知道的朋友麻烦告诉下,不胜感激
没有现成的方法,你必须要自己写个,给个例子
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里你可以添加别的字串
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();
}
}