~~~
package experiment;
import java.util.*;
import java.text.DecimalFormat;
class Process
{
Process(){}
Process(String Name,int ArrivalTime,int ServiceTime)
{
this.Name=Name;
this.ArrivalTime=ArrivalTime;
this.ServiceTime=ServiceTime;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getArrivalTime() {
return ArrivalTime;
}
public void setArrivalTime(int arrivalTime) {
ArrivalTime = arrivalTime;
}
public int getServiceTime() {
return ServiceTime;
}
public void setServiceTime(int serviceTime) {
ServiceTime = serviceTime;
}
public int getFinishTime() {
return FinishTime;
}
public void setFinishTime(int finishTime) {
FinishTime = finishTime;
}
public int getWholeTime() {
return WholeTime;
}
public void setWholeTime(int wholeTime) {
WholeTime = wholeTime;
}
public double getWeightWholeTime() {
return WeightWholeTime;
}
public void setWeightWholeTime(double weightWholeTime) {
WeightWholeTime = weightWholeTime;
}
private String Name; //进程名称
private int ArrivalTime; //到达时间
private int ServiceTime;//服务时间
private int FinishTime; //完成时间
private int WholeTime;//周转时间
private double WeightWholeTime; //带权周转时间
public void WholeTime(Process[]process)
{
//求进程的周转时间 周转时间=完成时间-到达时间
for(int i=0;i
process[i].setWholeTime(process[i].getFinishTime()-process[i].getArrivalTime());
}
public void WeightWholeTime(Process[]process)
{
//求进程的带权周转时间
DecimalFormat a = new DecimalFormat(".##");
for(int i=0;i
process[i].setWeightWholeTime(Double.parseDouble(a.format((double)process[i].getWholeTime()/(double)process[i].getServiceTime())));
}
public double AVG_WholeTime(Process[]process)
{
//求进程的平均周转时间
DecimalFormat a = new DecimalFormat(".##");
double AVG_WholeTime=0;
for(int i=0;i
AVG_WholeTime=AVG_WholeTime+process[i].getWholeTime();
return ( Double.parseDouble(a.format(AVG_WholeTime/process.length)) );
}
public double AVG_WeightWholeTime(Process[]process)
{