软件构造--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);
原文地址:https://www.cnblogs.com/lllllllm/p/14968537.html