CSDN博客

img cymyell

随机数的简单应用

发表于2008/10/3 22:04:00  258人阅读

 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

相关博文

我的热门文章

img
取 消
img