实⽤的随机数⽣成类Random:测试(随机产⽣100个不重复的
正整数)
实⽤的随机数⽣成类Random:测试(使⽤Random类随机⽣成100个不重复的正整数)
⼀、之前我们使⽤随机数⽤的是Math类的random()⽅法:
tips:
产⽣随机数(0~9中任意整数)的⽅法:int random = (int)(Math.random()*10);
1.商场幸运抽奖程序。
会员号的百位数字等于产⽣的随机数即为幸运会员。
public class GoodLuck{
  public static void main(String[] args){
    //产⽣随机数
    int random = (int)(Math.random()*10);
    //从控制台接收⼀个4位会员号
    System.out.println("我⾏我素购物管理系统>幸运抽奖\n");
    System.out.print("请输⼊4位会员号:");
    Scanner input = new Scanner(System.in);
    int custNo = Int();
    //分解获得百位
    int baiwei = custNo/100%10;
    //判断是否是会员
    if(baiwei = random){
      System.out.println(custNo+"是幸运客户,获精美MP3⼀个。");
    }else{
      System.out.println(custNo+"谢谢您的⽀持!");
    }
  }
}
⼆、其实,Math类的random⽅法的底层就是使⽤Random类实现的。
1.给构造⽅法有两种重载⽅法:
Random();
创建⼀个新的随机数⽣成器。
Random(long seed);
使⽤单个long种⼦创建⼀个新的随机数⽣成器。
tips:
如果⽤同样⼀个种⼦值来初始化两个Random对象,然后⽤每个对象调⽤相同的⽅法,那么得到的随机数也是相同的(令牌)
2.返回下⼀个伪随机数的⽅法:
int nextInt();
返回下⼀个伪随机数,它是此随机数⽣成器的序列中均匀分布的int值。
int nextInt(int n);
返回下⼀个伪随机数,它是取⾃此随机数⽣成器序列的,在0(包括)和指定值(不包括)之间均匀分布的int值。
三、Random类的使⽤
1.随机⽣成20个10以内⼤于或等于0的整数,并将其显⽰出来:
import java.util.Random;
public class RandomDemo{
  public static void main(String[] args){
    //创建⼀个Random对象
    Random rand = new Random();
    //随机⽣成20个随机整数,并显⽰
    for(){
      int num = Int(10);
      System.out.println("第"+(i+1)+"个随机数是:"+num);
    }
  }
}
2.案例:随机产⽣100个不重复的整数
ParseException;
SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
/**
* 随机⽣成100个不重复的随机数
* @author Administrator
*
*/
public class RandomDemo {
public static void main(String[] args) throws ParseException {
Random rand = new Random();
System.out.println("Set⽅法:");
//Set集合保存
Set<Integer> nums = new HashSet<Integer>();
//循环保存
do{
nextint()方法nums.Int(100));
}while(nums.size()<100);
for (Integer num : nums) {
System.out.println(num);
}
System.out.println("List⽅法:");
//List集合保存
List<Integer> list = new ArrayList<Integer>();
int num;
do{
num = Int(100);
for (Integer item : list) {
if (num==item) {
continue;
}
}
list.add(num);
}while(list.size()<100);
for (Integer item : list) {
System.out.println(item);
}
/
*Date类的使⽤*/
//⽇期格式
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM⽉dd⽇ 24⼩时HH:mm:ss 12⼩时hh:mm:ss");  SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("当前时间:"+sdf.format(date));
String str = "2016-12-31";
Calendar calendar = Instance();
date = sdf1.parse(str);
calendar.setTime(date);
System.out.(Calendar.YEAR));
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。