随机数的简单应用

 public class TestMath {
 public static void main(String[] args)
 {
  System.out.println(Math.random());//随机数产生的是>=0且 <1的随机数
     //产生七个1-33的随机数
  for(int i=0;i<7;i++){
  System.out.println((int)(Math.random()*33+1));
      }
}

 

产生七个不可重复的随机数:可以用HashSet:

import java.util.HashSet;
public class TestRandom
{
 public static void main(String[] args)
 {
  HashSet hs = new HashSet();//HashSet元素不可能重复
        while(true){
   int temp = (int)(Math.random()*7+1);
      hs.add(""+temp);//把基本类型(数字)转成String
   if(hs.size()==7) break;
  }
  System.out.println(hs);
  /*第二种方法(非HashSet)
  int[] arr = new int[7];
  int[] temp = new int[7];//应该是33
  for(int i=0;i<temp.length;i++){
      temp[i] = i+1;
  }
  for(int i=0;i<arr.length;i++){
      int index = (int)(Math.random()*
    (temp.length-i));
   arr[i] = temp[index];
   temp[index] = temp[temp.length-i-1];
  }*/
  /*第三种方法(非HashSet)
  for(int i=0;i<arr.length;i++){
      arr[i] = (int)(Math.random()*7+1);
   for(int j=0;j<i;j++){
       if(arr[i] == arr[j]){
        i--;
     break;
    }
   }
  }*/
  /*打印七个数
  for(int i=0;i<arr.length;i++){
      System.out.println("arr["+i+"]="+arr[i]);
  }*/
 }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值