我只需要生成一个6位随机数,范围从000000到999999。
new Random().nextInt(999999)
能返回数字,但不是6位数。
就是这么简单,你可以使用你的代码,在这里只需多做一件事
String.format("%06d", number);
这将以字符串格式返回您的数字,因此"0"将变成"000000"。public static String getRandomNumberString() {
// It will generate 6 digit random Number.
// from 0 to 999999
Random rnd = new Random();
int number = rnd.nextInt(999999);
// this will convert any number sequence into 6 character.
return String.format("%06d", number);
}
如果您需要一个六位数字,它必须以100000
开头
int i = new Random().nextInt(900000) + 100000;
前导零不会产生影响,000000
与0
相同。如果您使用的是Java 7+,可以使用ThreadLocalRandom
进一步简化:
int i = ThreadLocalRandom.current().nextInt(100000, 1000000)
nextInt
确保生成的数字小于它的参数。 - Amadan1 + nextInt(2) 总是会得到 1 或 2。然后您将其乘以 10000 以满足您的要求,再加上一个介于 [0..9999] 的数字。
已解决 这里
public int gen()
{
Random r = new Random( System.currentTimeMillis() );
return ((1 + r.nextInt(2)) * 10000 + r.nextInt(10000));
}
public int gen() { Random r = new Random( System.currentTimeMillis() ); return ((1 + r.nextInt(2)) * 10000 + r.nextInt(10000)); }
- Codebenderchar[] digits = {‘1’ , ‘0’ , ‘1’ , ‘1’ , ‘0’ , ‘1’};
//random
int result = 0;
for( int i = 0; i < digits.length; i++) {
result += Integer.parseInt(digits[i]) * Math.pow(10, i);
}
return result;
这是用Java编写的生成6位随机代码的代码。
import java.util.*;
public class HelloWorld{
public static void main(String []args)
{
Random r=new Random();
HashSet<Integer> set= new HashSet<Integer>();
while(set.size()<1)
{
int ran=r.nextInt(99)+100000;
set.add(ran);
}
int len = 6;
String random=String.valueOf(len);
for(int random1:set)
{
System.out.println(random1);
random=Integer.toString(random1);
}
}
}
000000
。该数字是0
,在显示时可以用“000000”进行填充,但0
与000000
是相同的数字。如果您想要6位数,您需要从100000
到999999
的数字范围内选择。如果您需要一个6位数字的字符串,请像之前一样生成一个数字(请参见我对Karol的评论),然后通过填充到6位数字来转换为字符串。 - Amadan