生成6个字符:第一个字符是从字母表中随机生成的,字母列表中的奇数排序(A,C,E,...,Y)第二个字符是从字母表中随机生成的,在字母表中排序均匀(B,D,F,...,Z)第三个字符是从字母表列表(A到Z)中随机生成的,这三个数字中的每一个都是从1到9随机生成的。
答案 0 :(得分:3)
这是家庭作业吗?如果是这样,请正确标记您的问题。
这是一个线索:字母和数字都是字符,你可以存储在一个数组中。
答案 1 :(得分:1)
在java中你可以做char算术。所以
'A' + RNG.nextInt(26);
会在“A”和“Z”之间返回一个随机字母,其中RNG
是java.util.Random
的实例。
有效地构建字符串。使用StringBuilder
答案 2 :(得分:1)
使用我的库dollar很简单:
@Test
public void generateRandomString() {
String string = $('a', 'z').shuffle().slice(3).join() + // take 3 random letters
$('0', '9').shuffle().slice(3).join(); // take 3 random digits
assertThat(string.length(), is(6));
}
答案 3 :(得分:1)
不确定这是否是作业(它看起来像是这样),所以我会试着指出你正确的方法:
答案 4 :(得分:0)
使用随机生成器函数生成[0,26]范围内的数字,并将(int)'a'的值添加到该数字,并将结果转换回char
答案 5 :(得分:0)
生成一组介于0到61之间的数字(上下有61个字母加上数字)并将每个数字映射到[0-9a-zA-Z]中的一个,然后将整个事物连接起来。
答案 6 :(得分:0)
您可以使用的一些基本内容:
答案 7 :(得分:0)
我想生成6个随机字符,包括3个随机字母,后跟3个随机数字,但我一次只能生成字母或数字。
char a = randomLetter();
char b = randomLetter();
char c = randomLetter();
int x = randomNumber();
int y = randomNumber();
int z = randomNumber();
String result = new String()+a+b+c+x+y+z;
答案 8 :(得分:0)
您可以查看RandomStringUtils,或至少查看其源代码。
答案 9 :(得分:0)
尝试使用xeger和brics automaton。
import nl.flotsam.xeger.Xeger;
import dk.brics.automaton.Automaton;
public class RandomizeString{
public String generateRandomString(){
String regex = "[ACEGIKMOQSUWY][BDFHJLNPRTVXZ][A-Z][0-9]{3}";
Xeger generator = new Xeger(regex);
String result = generator.generate();
return result;
}
}
了解更多信息,学习正则表达式。