很多朋友都想知道java怎么获取随机字符串?下面就一起来了解一下吧~
为赫章等地区用户提供了全套网页设计制作服务,及赫章网站建设行业解决方案。主营业务为成都网站制作、成都做网站、外贸营销网站建设、赫章网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
1、生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random。 //length用户要求产生字符串的长度 public static String getRandomString(int length){ String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random=new Random(); StringBuffer sb=new StringBuffer(); for(int i=0;i
需要创建生成器的实例,我们可以使用RandomStringGenerator.Builder()类build()方法。生成器类还可以帮助我们配置生成器的属性。在调用build()方法之前,我们可以使用以下方法设置构建器的属性:withinRange()指定在生成的字符串中允许的最小和最大代码点。filteredBy()将生成的字符串中的字符限制为与至少提供的谓词之一匹配的字符。这样即可将java定义一个以字母开头的随机字符串。
代码如下:
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();
}
}
代码解读:
调用getRandomString()方法时的length参数为要返回的随机字符串的长度。
StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
此段字符串代表要出现的字符还可以是其他字符
如:- + = * 。.等等
代码如下,供参考:
import java.util.Random;
public class Main {
public static void main(String[] args) {
char[] chs = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
String str = new Main().getStr(chs);
System.out.println(str);
}
public String getStr(char[] chs) {
String str = "";
Random random = new Random();
for (int i = 0; i 4; i++) {
// 这种写法易于扩展,chs内容改了不用修改代码
str += chs[random.nextInt(chs.length)];
}
str += random.nextInt(10);
return str;
}
}