Question: Can you help me to adjust this Round robin Java code so that each output is sorted as arrival time ? import java.awt.image.BufferStrategy; import java.util.Random;

Can you help me to adjust this Round robin Java code so that each output is sorted as arrival time ?

import java.awt.image.BufferStrategy;

import java.util.Random;

import java.util.Scanner;

import java.util.Scanner.*;

public class RoundRobin {

public static void main(String args[]) {

Scanner sc = new Scanner(System.in);

int quantum, sum = 0;

float average_waitingtime = 0;

float average_turnaroundtime = 0;

float average_responsetime = 0;

System.out.println(" ------------------------------------------");

System.out.println(" ** Round robin CPU Scheduling Algorithm **");

System.out.println(" ------------------------------------------");

System.out.println("Enter number of process:");

int n = sc.nextInt();

int burst_time[] = new int[n];

int waiting_time[] = new int[n];

int turnaround_time[] = new int[n];

int array[] = new int[n];

int lastcompletion = 0;

Random rand = new Random();

for(int i = 0; i< n ; i++) {

burst_time[i] = rand.nextInt(25);

}

System.out.println(" Please Enter Time quantum:");

quantum = sc.nextInt();

for (int i = 0; i < n; i++)

array[i] = burst_time[i];

for (int i = 0; i < n; i++)

waiting_time[i] = 0;

do {

for (int i = 0; i < n; i++) {

if (burst_time[i] > quantum) {

burst_time[i] -= quantum;

for (int j = 0; j < n; j++) {

if ((j != i) && (burst_time[j] != 0))

waiting_time[j] += quantum;

}

} else {

for (int j = 0; j < n; j++) {

if ((j != i) && (burst_time[j] != 0))

waiting_time[j] += burst_time[i];

}

burst_time[i] = 0;

}

}

sum = 0;

for (int k = 0; k < n; k++)

sum = sum + burst_time[k];

} while (sum != 0);

for (int i = 0; i < n; i++)

turnaround_time[i] = waiting_time[i] + array[i];

System.out.println(" process\t\tBurstTime\tWaitingTime\tTurnAroundTime");

// for (int i = 0; i < n; i++) {

// System.out.println(

// "process" + (i + 1) + "\t" + array[i] + "\t\t" + waiting_time[i] + "\t\t" + turnaround_time[i]);

// }

for (int j = 0; j < n; j++) {

average_waitingtime += waiting_time[j];

}

for (int j = 0; j < n; j++) {

average_turnaroundtime += turnaround_time[j];

}

for(int j = 1; j < n;j++) {

average_responsetime += average_responsetime + quantum;

}

lastcompletion = waiting_time[n-1] + turnaround_time[n-1];

System.out.println(" The average waiting time is:" + (average_waitingtime / n));

System.out.println(" The Average turn around time is: " + (average_turnaroundtime / n));

System.out.println(" The average response time is: " + (average_responsetime / n));

System.out.println(" The throughput of the program is :" +(lastcompletion / n));

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!