Java随机数

java产生随机数:

  方法一:java.lang.Math.random()生成随机数

             1.Double i=Math.random();//random()会自动产生一个0.0-1.0的双精度随机数

System.out.println(i);//输出

 

	     2.Double b=(Double)(Math.random()*1000);//产生0-1000的双精度随机数    
System.out.println(b);

 

3.int b=(int)(Math.random()*1000);//产生0-1000的整数随机数

System.out.println(b);

方法二:创建java.util.Random对象

Random random=new Random();//创建random对象

int intNumber=random.nextInt();//获取一个整型数

float floatNumber=random.nextFloat();//获取一个浮点数(0-1)

double doubleNumber=random.nextDouble();//获取双精度数(0-1)

boolean booleanNumber=random.nextBoolean();//获取boolean数

random在产生随机数的时候使用当前的时间作为基数,我们可以同过System.currentTimeMillis()来获取这个基数。

当然我们也可以指定基数:例如:(同一基数所产生的随机数序列是一样的)

Random random1=new Random(100);

Random random2=new Random(100);

for(int i=0;i<5;i++){

System.out.print(random1.nextInt()+"t");

System.out.println(random2.nextInt()+"t");

System.out.println("---------------------------------");

}//

例子:彩票33选6,特别号6选1.

---------------------------------------------------------------------------------------------------------------------------------

package guessnumber; import java.util.ArrayList; import java.util.List; public class GuessNumber { List<Integer> getfrom33 = new ArrayList<Integer>(); List<Integer> getfrom6 = new ArrayList<Integer>(); List<Integer> temp = new ArrayList<Integer>(); int b1; /** * @author jack.tian * 彩票程序 */ public static void main(String[] args) { // TODO Auto-generated method stub GuessNumber gn = new GuessNumber(); gn.init(); gn.startGuess(); gn.printNumber(); } public void init() { for (int i = 1; i <= 33; i++) { getfrom33.add(i); } for (int i = 1; i <= 6; i++) { getfrom6.add(i); } } public void startGuess() { for (int k = 0; k < 6; k++) { int cursor33 = (int) (Math.random() * getfrom33.size());// 产生0-33的整数随机数 temp.add(getfrom33.get(cursor33)); getfrom33.remove(cursor33); } b1 = (int) (Math.random() * 5)+1; } public void printNumber() { System.out.print("R:"); for (Integer r : temp) { System.out.print(r + " "); } System.out.print("/rB:" + b1); } }

------------------------------------------------------------------------------------------------------------------------------


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值