⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sjf.java

📁 操作系统中的调度先来先服务及短作业优先
💻 JAVA
字号:
//import java.io.*;
class runtime
 {  
   String name;
     int  sta_time;
  	 int  get_time;
   runtime(String n,int s,int r)
    { 
        name=n;
    	sta_time=s;
        get_time=r;
        
    }
   
   public int starttime()
   { 
   return sta_time;
   }
   public int run_time()
	{ 
	 return get_time;
	}
 	public String getname()
	{
			return name;
	}
 }

class sif
{ 
	public static void main(String args[])
	{
	int f=0;
	int  s1=0;
	int  s2=0;
	int a_1[]=new int[5];
	int a_2[]=new int[5];
    int a_3[]=new int[5];
	   runtime a0 = new runtime("进程1", 0,4);//到达时间及服务时间
	   runtime a1 = new runtime("进程2", 1,3);
	   runtime a2 = new runtime("进程3", 2,5);
	   runtime a3 = new runtime("进程4", 3,2);
	   runtime a4 = new runtime("进程5", 4,4);
	   runtime a[] = {a0,a1,a2,a3,a4};
	   sort(a);
	   for(int i=0;i<a.length;i++)
	           {  
	              if(i==0)
	                 a_1[i]= a[i].starttime()+a[i].run_time();//完成时间
	                 else  
	                 a_1[i]=f+a[i].run_time(); 
	                 f=a_1[i];//完成时间
	                 a_2[i]=a_1[i]-a[i].starttime();//周转时间
	                 a_3[i]= a_2[i]/a[i].run_time();
	                 a_3[i]=a_3[i];
	                  s1+= a_2[i];
	                  s2+= a_3[i];
	                 System.out.print(a[i].getname()+"\n"+"完成时间:"+a_1[i]+"\n");
	                 System.out.print("周转时间:"+a_2[i]+"\n");
	                 System.out.print("带权周转时间:"+a_3[i]+"\n");
	                 System.out.println();
	               
	            }   
	               s1=s1/5;
	                s2=s2/5;
	    System.out.print("平均周转时间:"+s1+"\n");
	    
	      System.out.print("带权平均周转时间:"+s2+"\n");
     }
	    
	   

public static void sort(runtime[] a)   //服务时间越短,优先级越高
	{	runtime temp;
	   
		for (int i = 0; i < a.length; i++)
		    { if(a[0].starttime()>a[i].starttime())
		          { temp = a[i];
					a[i] = a[0];
					a[0] = temp;
				  }
		    }
		       
    	for (int j = 1; j < a.length-1; j++)	
		    	if (a[j].run_time()>a[j+1].run_time())
				{	temp = a[j];
					a[j] = a[j+1];
					a[j+1] = temp;
				}
		    
		 
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -