我可以知道为什么生成的代码长度有时是9,有时是10?我怎样才能让它成为所有人的标准?
public String testing() throws Exception
{
String total = "";
for(int k =0 ; k < 10 ;k++)
{
String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
String ret = "";
int length = chars.length();
for (int i = 0; i < 10; i ++){
ret += chars.split("")[ (int) (Math.random() * (length - 1)) ];
}
total = ret;
}
return total;
}
结果
('0QU7F73D5T')
('XQ7YZK2QV') //different length 9
('XP0KBN4IEX')
('ZIM74X1J7Q')
('570QR4A4L2')
('YTAL1IOQ37')
('TIF1UOJVT') //different length 9
('7T2PXELI2A')
('T3N0PDDHSB')
答案 0 :(得分:3)
问题是因为在{/ p>处使用chars
拆分""
字符串
chars.split("")[ (int) (Math.random() * (length - 1)) ]
所以不要拆分,而是使用
chars.charAt((int) (Math.random() * (length - 1)))
因为使用""
进行拆分时,empty string
索引中的数组已填充0th