1.使用java.lang.Math.random()中的Math.random()这一静态方法
public class Choose {
public static void main(String[] args) {
double number=Math.random();//包含在lang包中,产生0.0到1.0之间double类型的随机数,j2se中有,j2me中不存在
System.out.println(number);
int number2=(int)(Math.random()*100);//产生0到100之间的随机整数
System.out.println(number2);
}
}
2.使用java.util.Random对象
1>不带种子
2>带种子
两者的区别是:
带种子的,每次运行生成的结果都是一样的。
不带种子的,每次运行生成的都是随机的,没有规律可言。
import java.util.Random;
public class Choose{
public static void main(String[] args){
testNoSeed();//不带种子,每次运行结果都是随机的
testSeed();//带种子,每次运行结果一样
}
public static void testNoSeed(){
Random random=new Random();
for(int i=1;i<4;i++)
{
System.out.println(random.nextInt());
}
}
public static void testSeed(){
Random random=new Random(555);
//或者Random random=new Random(); random.setSeed(555L);
for(int i=1;i<4;i++)
{
System.out.println(random.nextInt());
}
}
}
3.产生固定范围的随机数
import java.util.Random;
public class Choose{
public static void main(String[] args){
testArea1();//产生固定范围的数字
testArea2();
}
public static void testArea1(){
Random random=new Random();
for(int i=1;i<4;i++){
System.out.println(random.nextInt(1000));//产生0到1000之间的整数。[0,1000),不含1000
}
}
public static void testArea2(){
Random random=new Random();
for(int i=1;i<4;i++){
System.out.println(random.nextInt(900)+100);//产生一个三位数整数
}
}
}
4.使用currentTimeMillis()方法
public class Choose{
public static void main(String[] args){
int i=(int)(System.currentTimeMillis()%10);
for(int j=1;j<=3;j++){
System.out.println(i);
}
}
}