• 软件构造--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);
  • 相关阅读:
    VMware安装CentOS6.8
    YouZack英语学习网站,英语四六级的福音
    WIN7环境下配置vscode c++环境
    连续出现的字符
    丛林中的路
    兔子与樱花
    C++语言基础--02_运算符
    C++语言基础--01_合法标识符与基本数据类型
    C++语言基础--0_前言
    字符串笔试题
  • 原文地址:https://www.cnblogs.com/lllllllm/p/14968537.html
Copyright © 2020-2023  润新知