您的位置:

java随机字符串,Java随机生成字符串

本文目录一览:

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

此段字符串代表要出现的字符还可以是其他字符

如:- + = * 。.等等

Java如何生成随机字符串

import java.util.Random;

public class Stat {

public static void main(String[] args) {

// Math.random() 获取0~1之间的double类型数值

int num = (int)(Math.random()*100); // 获取0~100之间的整数

System.out.println(num);

System.out.println(getRandomString(12));

}

// 获取随机字符串

public static String getRandomString(int length) { // length 字符串长度

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

StringBuffer sb = new StringBuffer();

Random r = new Random();

int range = buffer.length();

for (int i = 0; i length; i ++) {

sb.append(buffer.charAt(r.nextInt(range)));

}

return sb.toString();

}

}

java中,我想随机获取不重复的字符串?应该怎么办?

1.先确定字符串的长度;

2.再确定字符串包括哪些字符;//这样可以确定字符的ASCII范围

3.然后就有很多方法去随机获取字符:

把字符存放在一个Map中的value中,如:map.put(1,"字符1");map.put(2,"字符2");

map.put(3,"字符3");一次类推,通过Math.random()*字符的个数,取整就可以得到key值,

map.get(key),value不为null,然后在map中删除这个key-value,可以设置map.put(key,null);

循环到字符串的长度为需要的长度。

具体一种方法的代码:

import java.util.HashMap;

import java.util.Map;

public class RandomStr {

public static void main(String[] args) {

for(int i=0; i 10; i++){//测试10次产生随机不重复字符串

generateRandomStr(5);

}

}

/**

* 产生不重复的随机字符串

* @param len 生成字符串的长度

* @return

*/

public static String generateRandomStr(int len){

String strRange = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";//字符串范围,根据自己的需求确定

MapString, String tmp = new HashMapString, String();

for(int i=0; istrRange.length(); i++){

tmp.put(i+"",strRange.charAt(i)+"");

}

StringBuffer result=new StringBuffer();

for(int i=0; ilen; i++){

String key = (int)(Math.random()*(strRange.length()-i))+"";

result.append(tmp.get(key));

tmp.remove(key);

tmp.put(key, tmp.get((strRange.length()-i-1)+""));//拿最后一个字符填充删除的位置key-value

}

System.out.println(result);

return result.toString();

}

}

java中如何产生一个16位数字组成的随机字符串?谢谢各位了

方法如下:

Random ran=new random();

boolean flag=true;

while(flag){

int a=ran.nextInt(99999999);

int b=ran.nextInt(99999999);

long c=a*100000000L+b;

if(c1000000000000000Lc9999999999999999L){

flag=false;

c1=c;

String num=String.valueOf(c1);

}

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;ilength;i++){

int number=random.nextInt(62);

sb.append(str.charAt(number));

}

return sb.toString();

}

2、可以指定某个位置是a-z、A-Z或是0-9,需要导入的包是import java.util.Random;

//可以指定字符串的某个位置是什么范围的值。

public static String getRandomString2(int length){

Random random=new Random();

StringBuffer sb=new StringBuffer();

for(int i=0;ilength;i++){

int number=random.nextInt(3);

long result=0;

switch(number){

case 0:

result=Math.round(Math.random()*25+65);

sb.append(String.valueOf((char)result));

break;

case 1:

result=Math.round(Math.random()*25+97);

sb.append(String.valueOf((char)result));

break;

case 2:  

sb.append(String.valueOf(new Random().nextInt(10)));

break;

}

}

return sb.toString();

}

java实现输出指定长度的随机字符(大小写字母和数字)遇到问题?

程序输出错误的原因(见图)

改正后的程序如下(见图,改动的地方见注释)

其实可以简化程序如下(见图)

java如何定义一个以字母开头的随机字符串

需要创建生成器的实例,我们可以使用RandomStringGenerator.Builder()类build()方法。生成器类还可以帮助我们配置生成器的属性。在调用build()方法之前,我们可以使用以下方法设置构建器的属性:withinRange()指定在生成的字符串中允许的最小和最大代码点。filteredBy()将生成的字符串中的字符限制为与至少提供的谓词之一匹配的字符。这样即可将java定义一个以字母开头的随机字符串。