zoukankan      html  css  js  c++  java
  • 软件构造--random()函数-java

    在写lab的过程当中,需要用到随机生成随机数

    要求:

    代码:

     1 void randomDOAllProcess() throws IntervalConflictException {
     2         Set<Process> undoSet = PS.getUndoProcesses();
     3         System.out.println("起始时刻:"+startTime+"
    ");
     4         while(undoSet.size()>0) {
     5             ArrayList<Process> list = new ArrayList<Process>(undoSet);
     6             Random r =new Random();
     7             int select = Math.abs(r.nextInt(10));//1/10的可能延迟
     8             while(select==1) {
     9                 int randomTime = Math.abs(r.nextInt(10));//延迟时间最大为100
    10                 startTime+=randomTime;
    11                 System.out.println("随机选择:不启动任何进程直到"+startTime+"
    ");
    12                 select = r.nextInt(2);
    13             }
    14             int randomIndexProcess = Math.abs(r.nextInt(undoSet.size()));
    15             Process randomProcess = list.get(randomIndexProcess);
    16             int randomIndexTime = Math.abs(r.nextInt((int)PS.getMaxRunTime(randomProcess)));
    17             if(randomIndexTime==0) randomIndexTime++;
    18             System.out.println("选择进程:"+randomProcess.getName()+"运行时间"+randomIndexTime);
    19             PS.runTime(randomProcess, randomIndexTime);
    20             if(randomIndexTime!=0)
    21                 PS.insert(startTime, startTime+randomIndexTime, randomProcess);
    22             startTime+=randomIndexTime;
    23             //undoSet=PS.getUndoProcesses();
    24             System.out.println(undoSet.toString()+"
    ");
    25         }
    26     }

    这里就是用到了random()随机生成数来判断是否延迟,哪个进程运行,运行多久。

    Random()创建一个新的随机数生成器。

    使用Random类,一般是生成指定区间的随机数字。

    可以分为一下几种情况

    1.生成[0,1.0)区间的小数

    Random rRamdom = new Random();
    double x = rRandom.nextDouble();

    2.生成[0,2.0)区间的小数

    Random rRamdom = new rRandom();
    double x = rRandom.nextDouble() * 2;

    3.生成[1,2.0)区间的小数

    Random rRandom = new Random();
    double x = rRandom.nextDouble() * 1 + 1;

    4.生成任意整数

    Random rRandom = new Random();
    int x = rRandom.nextInt();

    5.生成[0,100)区间的整数

    Random rRandom = new Random();
    int x = rRandom.nextInt(10);
  • 相关阅读:
    python之read()方法
    python之高阶函数
    python之lambda表达式的应用
    DevExpress.XtraGrid.view.gridview 说明文
    C# SQL时间格式
    GridControl自动定位至符合条件的行
    用sql命令修改数据表
    用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
    DevExpress中GridControl的属性设置及动态绑定数据和全选取消全选
    C# 导出数据到Excel模板中
  • 原文地址:https://www.cnblogs.com/lllllllm/p/14968537.html
Copyright © 2011-2022 走看看