-
大小: 6KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-12
- 語言: Java
- 標簽:
資源簡介
磁盤調(diào)度算法 操作系統(tǒng)作業(yè) java模擬頁磁盤調(diào)度,圖形界面
調(diào)試完全正確!
請放心下載!

代碼片段和文件信息
/**
?*?@(#)mainform.java
?*
?*
?*?@author?
?*?@version?1.00?2010/12/27
?*/
import?java.awt.*;
import?javax.swing.*;
import?java.sql.*;
import?java.awt.event.*;
class?mainform?implements?ActionListener
{???Jframe?f;
JTable?table;
????JTextArea?jt;
Connection?con;
JButton?b1b2b3b4b5b6;
int??num;
int??kai;
int??sum;
int?m=0n=0;
int?s[]=?new?int[100];
int?s1[]=new?int[100];
int?c1[]=new?int[50];
int?c2[]=new?int[50];
mainform(){
f=new?Jframe(“磁盤調(diào)度“);
f.setSize(500300);
f.setBounds(200200700300);
b1=new?JButton(“創(chuàng)建磁道“);
b2=new?JButton(“先來先服務FCFS“);
b3=new?JButton(“最短尋道??SSTF“);
b4=new?JButton(“掃描算法??SCAN“);
b5=new?JButton(“循環(huán)掃描?CSCAN“);
????????b6=new?JButton(“退出“);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
Container?con=f.getContentPane();
jt=new?JTextArea();
JPanel?p=new?JPanel();
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
p.add(b6);
con.add(p“North“);
con.add(new?JScrollPane(jt)“Center“);//添加滾動面板
f.setVisible(true);
f.validate();//來使容器在其包含的組件被添加或修改時,對其組件重新進行布局。?
f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
}
???? public?void?actionPerformed(ActionEvent?ev)
{ if(ev.getSource()==b1)
{ creat();
}
else?if(ev.getSource()==b2)
{
????fcfs();
????
}
else?if(ev.getSource()==b3)
{
sstf();
}
else?if(ev.getSource()==b4)
{???scan();
}
else?if(ev.getSource()==b5)
{???cscan();
}
else?if(ev.getSource()==b6)
{???
System.exit(0);
}
}
public?void?creat(){
????double?t;
????
????String?cs=JOptionPane.showInputDialog(null“請輸入從哪個磁道開始:“);
????kai=Integer.parseInt(cs);
???????????cs=JOptionPane.showInputDialog(null“請輸入磁道的個數(shù):“);
????num=Integer.parseInt(cs);
??????for(int?j=0;j ?????{
?? ?t?=?Math.random();
?? ?s[j]=(int)(kai*2*t);
?? ?for(int?i=0;i ?? if(s[j]==s[i])
?? j--;
?????}
?????String?stext=“被訪問的下一個磁道?????????磁道號移動距離“+‘\n‘;
??????for(int?i=0;i ?????{stext+=“?????????“+s[i]+“???????“;
??????stext+=‘\n‘;
?????}
?????paixu();
??????jt.setText(stext);
??????
???
?? ????????????????}
?? public?void?paixu(){
?? int?su=kai;
?? int?t;
?? for(int?i=0;i ?? ??if(su>s[i])
??????c1[m++]=s[i];
??????else
??????c2[n++]=s[i];
????for(int?i=0;i ???? for(int?j=i;j ???? if(c1[i] ???? {t=c1[i];c1[i]=c1[j];c1[j]=t;}
????for(int?i=0;i ???? for(int?j=i;j ???? if(c2[i]>c2[j])
???? {t=c2[i];c2[i]=c2[j];c2[j]=t;}
???
???? }
??
????public?void?fcfs(){
??????String?stext=“被訪問的下一個磁道?????????磁道號移動距離“+‘\n‘;
??????int?su=kai;
??????sum=0;
??????for(int?i=0;i ??????{?if(su??????s1[i]=s[i]-su;
??????else
??????s1[i]=su-s[i];
??????su=s[i];
??????sum+=s1[i];
??????}
??????sum=sum/num;
??????for(int
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6468??2010-12-27?22:58??磁盤調(diào)度\mainform.class
?????文件???????5472??2010-12-27?22:58??磁盤調(diào)度\mainform.java
?????文件???????5472??2010-12-27?23:00??磁盤調(diào)度\mainform1.java
?????目錄??????????0??2010-12-27?23:03??磁盤調(diào)度
-----------?---------??----------?-----??----
????????????????17412????????????????????4
- 上一篇:java gps信號接收與解析
- 下一篇:gba
se驅(qū)動jar包
評論
共有 條評論