• 软件构造--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);
  • 相关阅读:
    [linux]记录如何设置一个新的vps
    [python]使用virtualenvWrapper
    Vulkan Tutorial 07 Window surface
    Vulkan Tutorial 08 交换链
    Android实现小圆点显示未读功能
    【内附下载资料】第14次年度敏捷报告背后的趋势
    一文看懂人脸识别算法技术发展脉络
    实践案例丨基于ModelArts AI市场算法MobileNet_v2实现花卉分类
    美女面试官问我Python如何优雅的创建临时文件,我的回答....
    绝了,华为云服务器“The 3”出道,每款都很能打
  • 原文地址:https://www.cnblogs.com/lllllllm/p/14968537.html
Copyright © 2020-2023  润新知