import com.ms.wfc.app.*;
import com.ms.wfc.core.*;
import com.ms.wfc.ui.*;
import com.ms.wfc.html.*;/**
* This class can take a variable number of parameters on the command
* line. Program execution begins with the main() method. The class
* constructor is not invoked unless an object of type 'Form1' is
* created in the main() method.
*/
public class Form1 extends Form
{
//各进程当前拥有的各资源的数目。
private int allocation[][]=new int [4][3];
//各进程还需要的各资源的数目。
private int need[][]=new int [4][3];
//各进程对各类资源的最大需求量
private int max[][]=new int[4][3];
//安全算法检测时,系统可提供给进程继续运行的各类资源数,初始值等于available[][]。
private int work[] =new int [3];
//各资源的可利用量,初始值为系统中所分配的该类全部可利用资源量,其数值随该类资源的分配和回收而动态改变。
private int available[] = new int [3];
//当前检测的进程
private int process[] =new int[4] ;
//当前需要进行安全算法判断的进程中各资源的需求量。
private int request[] = new int [3];
//用于检测计数器是否跳动
private int A[] = {1,1,1,1};
//提出申请的进程号。
private int n;
//计数器计数的值。
private int x0=0,x1=0,x2=0,x3=0;
private String fpro[]={"process1","process2","process3","process4"};
public Form1()
{
// Required for Visual J++ Form Designer support
initForm();
// TODO: Add any constructor code after initForm call
/**
* 调用时间函数,为各各进程设置计数器,以显示进程的各种状态。
* 开始时进程各各计数器停止不动,设为0,然后根据各种状态来改变其值。
* 如进程运行时计数器不停的计数,如进程挂起,则计数器停止运行
* 如进程再次被唤醒且重新调入运行时重新开始计数。
* (此处需修改为计数器而不是显示系统时间)
*/
} /**
* Form1 overrides dispose so it can clean up the
* component list.
*/
public void dispose()
{
super.dispose();
components.dispose();
}
/**
* button1表示确定按钮,按下去则进行安全算法的判断,当安全算法判断完毕
* 后进行分析,如果通过安全算法,则允许系统进行分配该资源,此时可看到计
* 数器在跳动,如果不能进行分配,则计数器仍旧停止不动,该进程被挂起。
*/
private void button1_click(Object source, Event e)
{
/**
* 判断是否成功,如成功则显示可接受的分配方案,同时改变各资源数目
* ,并且在分配时也要使的各计数器进行各自应该进行的状态,或计数或停止
* 如不行,则回复不能分配,当前进程的挂起,计数器停止计数。(要加代码)
*/
counte();
safetytext(n);
if(safetytext(n))
{
richEdit1.setText ("process"+n+"申请成功,运行!安全序列为"+process[0]+process[1]+process[2]+process[3]);
for(int i=0;i<available.length ;i++)
{
need[n][i]-=request[i];
available[i]+=allocation[n][i];
}
}
else
{
richEdit1.setText ("process"+n+"申请不成功,挂起!");
A[n]=0;
counte();
}
}// button2表示清空,把各值还原成刚登入界面是的状态。
private void button2_click(Object source, Event e)
{
A[0]=A[1]=A[2]=A[3]=0;
counte();
//MAX函数清空。
this.edit1.setText ("");
this.edit2.setText ("");
this.edit3.setText ("");
this.edit4.setText ("");
this.edit5.setText ("");
this.edit6.setText ("");
this.edit7.setText ("");
this.edit8.setText ("");
this.edit9.setText ("");
this.edit10.setText ("");
this.edit11.setText ("");
this.edit12.setText ("");
//NEED函数清空。
this.edit13.setText ("");
this.edit14.setText ("");
this.edit15.setText ("");
this.edit16.setText ("");
this.edit17.setText ("");
this.edit18.setText ("");
this.edit19.setText ("");
this.edit20.setText ("");
this.edit21.setText ("");
this.edit22.setText ("");
this.edit23.setText ("");
this.edit24.setText ("");
//AVAILABLE函数清空。
this.edit25.setText ("");
this.edit26.setText ("");
this.edit27.setText ("");
//WOKE函数清空。
this.edit28.setText ("");
this.edit29.setText ("");
this.edit30.setText ("");
//ALLOCATION函数清空。
this.edit32.setText ("");
this.edit33.setText ("");
this.edit34.setText ("");
this.edit35.setText ("");
this.edit36.setText ("");
this.edit37.setText ("");
this.edit38.setText ("");
this.edit39.setText ("");
this.edit40.setText ("");
this.edit41.setText ("");
this.edit42.setText ("");
this.edit43.setText ("");
//REQUEST框的各数清空。
this.edit44.setText ("");
this.edit45.setText ("");
this.edit46.setText ("");
this.edit47.setText ("");
//系统分配框清空。
this.richEdit1.setText ("");
} //max数组进程1,A资源赋值
private void edit1_textChanged(Object source, Event e)
{
max[0][0]=Integer.parseInt(edit1.getText());
}
//max数组进程1,B资源赋值
private void edit2_textChanged(Object source, Event e)
{
max[0][1]=Integer.parseInt(edit2.getText());
}
//max数组进程1,C资源赋值
private void edit3_textChanged(Object source, Event e)
{
max[0][2]=Integer.parseInt(edit3.getText());
}
//max数组进程2,A资源赋值
private void edit4_textChanged(Object source, Event e)
{
max[1][0]=Integer.parseInt(edit4.getText());
}
//max数组进程2,B资源赋值
private void edit5_textChanged(Object source, Event e)
{
max[1][1]=Integer.parseInt(edit5.getText());
}
//max数组进程2,C资源赋值
private void edit6_textChanged(Object source, Event e)
{
max[1][2]=Integer.parseInt(edit6.getText());
}
//max数组进程3,A资源赋值
private void edit7_textChanged(Object source, Event e)
{
max[2][0]=Integer.parseInt(edit7.getText());
}
//max数组进程3,B资源赋值
private void edit8_textChanged(Object source, Event e)
{
max[2][1]=Integer.parseInt(edit8.getText());
}
//max数组进程3,C资源赋值
private void edit9_textChanged(Object source, Event e)
{
max[2][2]=Integer.parseInt(edit9.getText());
}
//max数组进程4,A资源赋值
private void edit10_textChanged(Object source, Event e)
{
max[3][0]=Integer.parseInt(edit10.getText());
}
//max数组进程4,B资源赋值
private void edit11_textChanged(Object source, Event e)
{
max[3][1]=Integer.parseInt(edit11.getText());
}
//max数组进程4,C资源赋值
private void edit12_textChanged(Object source, Event e)
{
max[3][2]=Integer.parseInt(edit12.getText());
}
//need数组进程1,A资源赋值
private void edit13_textChanged(Object source, Event e)
{
need[0][0]=Integer.parseInt(edit13.getText());
}
//need数组进程1,B资源赋值
private void edit14_textChanged(Object source, Event e)
{
need[0][1]=Integer.parseInt(edit14.getText());
}
//need数组进程1,C资源赋值
private void edit15_textChanged(Object source, Event e)
{
need[0][2]=Integer.parseInt(edit15.getText());
}
//need数组进程2,A资源赋值
private void edit16_textChanged(Object source, Event e)
{
need[1][0]=Integer.parseInt(edit16.getText());
}
//need数组进程2,B资源赋值
private void edit17_textChanged(Object source, Event e)
{
need[1][1]=Integer.parseInt(edit17.getText());
}
//need数组进程2,C资源赋值
private void edit18_textChanged(Object source, Event e)
{
need[1][2]=Integer.parseInt(edit18.getText());
}
//need数组进程3,A资源赋值
private void edit19_textChanged(Object source, Event e)
{
need[2][0]=Integer.parseInt(edit19.getText());
}
//need数组进程3,B资源赋值
private void edit20_textChanged(Object source, Event e)
{
need[2][1]=Integer.parseInt(edit20.getText());
}
//need数组进程3,C资源赋值
private void edit21_textChanged(Object source, Event e)
{
need[2][2]=Integer.parseInt(edit21.getText());
}
//need数组进程4,A资源赋值
private void edit22_textChanged(Object source, Event e)
{
need[3][0]=Integer.parseInt(edit22.getText());
}
//need数组进程4,B资源赋值
private void edit23_textChanged(Object source, Event e)
{
need[3][1]=Integer.parseInt(edit23.getText());
}
//need数组进程4,C资源赋值
private void edit24_textChanged(Object source, Event e)
{
need[3][2]=Integer.parseInt(edit24.getText());
}
//available项中A资源赋值
private void edit25_textChanged(Object source, Event e)
{
work[0]=Integer.parseInt(edit25.getText());
}
//available项中B资源赋值
private void edit26_textChanged(Object source, Event e)
{
work[1]=Integer.parseInt(edit26.getText());
}
//available项中C资源赋值
private void edit27_textChanged(Object source, Event e)
{
work[2]=Integer.parseInt(edit27.getText());
}
//allocation数组进程1,A资源赋值
private void edit32_textChanged(Object source, Event e)
{
allocation[0][0]=Integer.parseInt (edit32.getText ());
}
//allocation数组进程1,B资源赋值
private void edit33_textChanged(Object source, Event e)
{
allocation[0][1]=Integer.parseInt (edit33.getText ());
}
//allocation数组进程1,C资源赋值
private void edit34_textChanged(Object source, Event e)
{
allocation[0][2]=Integer.parseInt (edit34.getText ());
}
//allocation数组进程2,A资源赋值
private void edit35_textChanged(Object source, Event e)
{
allocation[1][0]=Integer.parseInt (edit35.getText ());
}
//allocation数组进程2,B资源赋值
private void edit36_textChanged(Object source, Event e)
{
allocation[1][1]=Integer.parseInt (edit36.getText ());
}
//allocation数组进程2,C资源赋值
private void edit37_textChanged(Object source, Event e)
{
allocation[1][2]=Integer.parseInt (edit37.getText ());
}
//allocation数组进程3,A资源赋值
private void edit38_textChanged(Object source, Event e)
{
allocation[2][0]=Integer.parseInt (edit38.getText ());
}
//allocation数组进程3,B资源赋值
private void edit39_textChanged(Object source, Event e)
{
allocation[2][1]=Integer.parseInt (edit39.getText ());
}
//allocation数组进程3,C资源赋值
private void edit40_textChanged(Object source, Event e)
{
allocation[2][2]=Integer.parseInt (edit40.getText ());
}
//allocation数组进程4,A资源赋值
private void edit41_textChanged(Object source, Event e)
{
allocation[3][0]=Integer.parseInt (edit41.getText ());
}
//allocation数组进程4,B资源赋值
private void edit42_textChanged(Object source, Event e)
{
allocation[3][1]=Integer.parseInt (edit42.getText ());
}
//allocation数组进程4,C资源赋值
private void edit43_textChanged(Object source, Event e)
{
allocation[3][2]=Integer.parseInt (edit43.getText ());
}
//当前要求系统进行安全算法判断的进程
private void edit44_textChanged(Object source, Event e)
{
n=Integer.parseInt (edit44.getText ());
}
//REQUEST框中,当前要求进行安全算法检测的进程的A资源需求量
private void edit45_textChanged(Object source, Event e)
{
request[0]=Integer.parseInt (edit45.getText ());
}
//REQUEST框中,当前要求进行安全算法检测的进程的B资源需求量
private void edit46_textChanged(Object source, Event e)
{
request[1]=Integer.parseInt (edit46.getText ());
}
//REQUEST框中,当前要求进行安全算法检测的进程的C资源需求量
private void edit47_textChanged(Object source, Event e)
{
request[2]=Integer.parseInt (edit47.getText ());
}
//安全算法的检测过程
private boolean safetytext(int n)
{
//finish数组表示系统是否有足够的资源分配给进程,使之运行完全。
boolean finish[]={false,false,false,false};
int k=1;
String str;
str=""; if(finish[n]==false)
{
if((request[0]<=work[0])&&(request[1]<=work[1])&&(request[2]<=work[2])&&(request[0]<=need[n][0])&&(request[1]<=need[n][1])&&(request[2]<=need[n][2]))
{
for (int i = 0;i< work.length ;i++)
{
work[i]=work[i]+allocation[n][i];
}
process[0]=n;
str=str+fpro[n];
finish[n]=true;
k=k+1;
while(k!=need.length )
{
for(int i=0;i<need.length ;i++)
{
if (i==n)
continue;
else
if((need[i][0]<=work[0])&&(need[i][1]<=work[1])&&(need[i][2]<=work[2]))
{
finish[i]=true;
for(int j=0;j<work.length;j++)
{
work[i]=work[i]+allocation[i][j];
}
process[k]=i;
k=k+1;
}
}
}
}
else
finish[n]=false;
}
if(finish[0]&&finish[1]&&finish[2]&&finish[3])
return true;
else
return false;
}
public void counte()
{
if(A[0]==1)
label36.setText(Integer.toString(x0++));
else
label36.setText(Integer.toString(x0));
if(A[1]==1)
label37.setText(Integer.toString(x1++));
else
label37.setText(Integer.toString(x1++));
if(A[2]==1)
label38.setText(Integer.toString(x2++));
else
label38.setText(Integer.toString(x2));
if(A[3]==1)
label39.setText(Integer.toString(x3++));
else
label39.setText(Integer.toString(x3));
}
private void Form1_click(Object source, Event e)
{
} private void richEdit1_textChanged(Object source, Event e)
{
} private void label36_click(Object source, Event e)
{
} private void label37_click(Object source, Event e)
{
} private void label38_click(Object source, Event e)
{
} private void label39_click(Object source, Event e)
{
} /**
* NOTE: The following code is required by the Visual J++ form
* designer. It can be modified using the form editor. Do not
* modify it using the code editor.
*/
Container components = new Container();
RichEdit richEdit1 = new RichEdit();
Edit edit27 = new Edit();
Edit edit26 = new Edit();
Edit edit25 = new Edit();
Label label4 = new Label();
Label label5 = new Label();
Edit edit12 = new Edit();
Edit edit11 = new Edit();
Edit edit10 = new Edit();
GroupBox groupBox6 = new GroupBox();
Edit edit24 = new Edit();
Edit edit23 = new Edit();
Label label15 = new Label();
Label label14 = new Label();
Label label13 = new Label();
Label label12 = new Label();
Edit edit9 = new Edit();
Edit edit8 = new Edit();
Edit edit7 = new Edit();
Edit edit6 = new Edit();
Edit edit5 = new Edit();
Edit edit4 = new Edit();
Edit edit3 = new Edit();
Edit edit2 = new Edit();
Edit edit1 = new Edit();
Label label8 = new Label();
Label label7 = new Label();
Label label6 = new Label();
Edit edit22 = new Edit();
Edit edit21 = new Edit();
Edit edit20 = new Edit();
Edit edit19 = new Edit();
Edit edit18 = new Edit();
Edit edit17 = new Edit();
Edit edit16 = new Edit();
Edit edit15 = new Edit();
Edit edit14 = new Edit();
Edit edit13 = new Edit();
Label label11 = new Label();
Label label10 = new Label();
Label label3 = new Label();
Label label2 = new Label();
Label label1 = new Label();
Button button1 = new Button();
Button button2 = new Button();
Label label39 = new Label();
Label label38 = new Label();
Label label37 = new Label();
Label label36 = new Label();
Label label27 = new Label();
Label label26 = new Label();
Label label25 = new Label();
Edit edit43 = new Edit();
Edit edit42 = new Edit();
Edit edit41 = new Edit();
Edit edit40 = new Edit();
Edit edit39 = new Edit();
Edit edit38 = new Edit();
Edit edit37 = new Edit();
Edit edit36 = new Edit();
Edit edit35 = new Edit();
Label label24 = new Label();
Edit edit34 = new Edit();
Edit edit33 = new Edit();
Edit edit32 = new Edit();
Label label28 = new Label();
GroupBox groupBox7 = new GroupBox();
GroupBox groupBox1 = new GroupBox();
Edit edit44 = new Edit();
Edit edit45 = new Edit();
Edit edit46 = new Edit();
Edit edit47 = new Edit();
Label label29 = new Label();
Label label30 = new Label();
Label label31 = new Label();
Label label32 = new Label();
GroupBox groupBox2 = new GroupBox();
GroupBox groupBox3 = new GroupBox();
GroupBox groupBox4 = new GroupBox();
GroupBox groupBox5 = new GroupBox();
Label label9 = new Label();
Label label20 = new Label();
Label label21 = new Label();
Edit edit28 = new Edit();
Label label22 = new Label();
Edit edit29 = new Edit();
Label label23 = new Label();
Edit edit30 = new Edit();
Label label33 = new Label();
Label label34 = new Label();
Label label35 = new Label(); private void initForm()
{
this.setText("Form1");
this.setAutoScaleBaseSize(new Point(6, 12));
this.setClientSize(new Point(638, 404));
this.addOnClick(new EventHandler(this.Form1_click)); richEdit1.setFont(Font.DEFAULT_GUI);
richEdit1.setForeColor(Color.WINDOWTEXT);
richEdit1.setLocation(new Point(16, 48));
richEdit1.setSize(new Point(184, 64));
richEdit1.setTabIndex(0);
richEdit1.setText("");
richEdit1.addOnTextChanged(new EventHandler(this.richEdit1_textChanged)); edit27.setLocation(new Point(104, 40));
edit27.setSize(new Point(32, 19));
edit27.setTabIndex(5);
edit27.setText("");
edit27.addOnTextChanged(new EventHandler(this.edit27_textChanged)); edit26.setLocation(new Point(56, 40));
edit26.setSize(new Point(32, 19));
edit26.setTabIndex(4);
edit26.setText("");
edit26.addOnTextChanged(new EventHandler(this.edit26_textChanged)); edit25.setLocation(new Point(8, 40));
edit25.setSize(new Point(32, 19));
edit25.setTabIndex(3);
edit25.setText("");
edit25.addOnTextChanged(new EventHandler(this.edit25_textChanged)); label4.setLocation(new Point(136, 120));
label4.setSize(new Point(32, 23));
label4.setTabIndex(1);
label4.setTabStop(false);
label4.setText("MAX"); label5.setLocation(new Point(432, 120));
label5.setSize(new Point(40, 16));
label5.setTabIndex(2);
label5.setTabStop(false);
label5.setText("NEED"); edit12.setLocation(new Point(104, 144));
edit12.setSize(new Point(32, 19));
edit12.setTabIndex(14);
edit12.setText("");
edit12.addOnTextChanged(new EventHandler(this.edit12_textChanged)); edit11.setLocation(new Point(56, 144));
edit11.setSize(new Point(32, 19));
edit11.setTabIndex(13);
edit11.setText("");
edit11.addOnTextChanged(new EventHandler(this.edit11_textChanged)); edit10.setLocation(new Point(8, 144));
edit10.setSize(new Point(32, 19));
edit10.setTabIndex(12);
edit10.setText("");
edit10.addOnTextChanged(new EventHandler(this.edit10_textChanged)); groupBox6.setLocation(new Point(368, 136));
groupBox6.setSize(new Point(144, 168));
groupBox6.setTabIndex(11);
groupBox6.setTabStop(false);
groupBox6.setText(""); edit24.setLocation(new Point(104, 144));
edit24.setSize(new Point(32, 19));
edit24.setTabIndex(0);
edit24.setText("");
edit24.addOnTextChanged(new EventHandler(this.edit24_textChanged)); edit23.setLocation(new Point(56, 144));
edit23.setSize(new Point(32, 19));
edit23.setTabIndex(1);
edit23.setText("");
edit23.addOnTextChanged(new EventHandler(this.edit23_textChanged)); label15.setLocation(new Point(8, 144));
label15.setSize(new Point(56, 16));
label15.setTabIndex(3);
label15.setTabStop(false);
label15.setText("PROCESS3"); label14.setLocation(new Point(8, 112));
label14.setSize(new Point(56, 16));
label14.setTabIndex(2);
label14.setTabStop(false);
label14.setText("PROCESS2"); label13.setLocation(new Point(8, 80));
label13.setSize(new Point(56, 16));
label13.setTabIndex(1);
label13.setTabStop(false);
label13.setText("PROCESS1"); label12.setLocation(new Point(8, 48));
label12.setSize(new Point(56, 16));
label12.setTabIndex(0);
label12.setTabStop(false);
label12.setText("PROCESS0"); edit9.setLocation(new Point(104, 112));
edit9.setSize(new Point(32, 19));
edit9.setTabIndex(11);
edit9.setText("");
edit9.addOnTextChanged(new EventHandler(this.edit9_textChanged)); edit8.setLocation(new Point(56, 112));
edit8.setSize(new Point(32, 19));
edit8.setTabIndex(10);
edit8.setText("");
edit8.addOnTextChanged(new EventHandler(this.edit8_textChanged)); edit7.setLocation(new Point(8, 112));
edit7.setSize(new Point(32, 19));
edit7.setTabIndex(9);
edit7.setText("");
edit7.addOnTextChanged(new EventHandler(this.edit7_textChanged)); edit6.setLocation(new Point(104, 80));
edit6.setSize(new Point(32, 19));
edit6.setTabIndex(8);
edit6.setText("");
edit6.addOnTextChanged(new EventHandler(this.edit6_textChanged)); edit5.setLocation(new Point(56, 80));
edit5.setSize(new Point(32, 19));
edit5.setTabIndex(7);
edit5.setText("");
edit5.addOnTextChanged(new EventHandler(this.edit5_textChanged)); edit4.setLocation(new Point(8, 80));
edit4.setSize(new Point(32, 19));
edit4.setTabIndex(6);
edit4.setText("");
edit4.addOnTextChanged(new EventHandler(this.edit4_textChanged)); edit3.setLocation(new Point(104, 48));
edit3.setSize(new Point(32, 19));
edit3.setTabIndex(5);
edit3.setText("");
edit3.addOnTextChanged(new EventHandler(this.edit3_textChanged)); edit2.setLocation(new Point(56, 48));
edit2.setSize(new Point(32, 19));
edit2.setTabIndex(4);
edit2.setText("");
edit2.addOnTextChanged(new EventHandler(this.edit2_textChanged)); edit1.setLocation(new Point(8, 48));
edit1.setSize(new Point(32, 19));
edit1.setTabIndex(3);
edit1.setText("");
edit1.addOnTextChanged(new EventHandler(this.edit1_textChanged)); label8.setLocation(new Point(104, 16));
label8.setSize(new Point(32, 16));
label8.setTabIndex(2);
label8.setTabStop(false);
label8.setText("C资源"); label7.setLocation(new Point(56, 16));
label7.setSize(new Point(32, 16));
label7.setTabIndex(1);
label7.setTabStop(false);
label7.setText("B资源"); label6.setLocation(new Point(8, 16));
label6.setSize(new Point(32, 16));
label6.setTabIndex(0);
label6.setTabStop(false);
label6.setText("A资源"); edit22.setLocation(new Point(8, 144));
edit22.setSize(new Point(32, 19));
edit22.setTabIndex(2);
edit22.setText("");
edit22.addOnTextChanged(new EventHandler(this.edit22_textChanged)); edit21.setLocation(new Point(104, 112));
edit21.setSize(new Point(32, 19));
edit21.setTabIndex(3);
edit21.setText("");
edit21.addOnTextChanged(new EventHandler(this.edit21_textChanged)); edit20.setLocation(new Point(56, 112));
edit20.setSize(new Point(32, 19));
edit20.setTabIndex(4);
edit20.setText("");
edit20.addOnTextChanged(new EventHandler(this.edit20_textChanged)); edit19.setLocation(new Point(8, 112));
edit19.setSize(new Point(32, 19));
edit19.setTabIndex(5);
edit19.setText("");
edit19.addOnTextChanged(new EventHandler(this.edit19_textChanged)); edit18.setLocation(new Point(104, 80));
edit18.setSize(new Point(32, 19));
edit18.setTabIndex(7);
edit18.setText("");
edit18.addOnTextChanged(new EventHandler(this.edit18_textChanged)); edit17.setLocation(new Point(56, 80));
edit17.setSize(new Point(32, 19));
edit17.setTabIndex(9);
edit17.setText("");
edit17.addOnTextChanged(new EventHandler(this.edit17_textChanged)); edit16.setLocation(new Point(8, 80));
edit16.setSize(new Point(32, 19));
edit16.setTabIndex(11);
edit16.setText("");
edit16.addOnTextChanged(new EventHandler(this.edit16_textChanged)); edit15.setLocation(new Point(104, 48));
edit15.setSize(new Point(32, 19));
edit15.setTabIndex(13);
edit15.setText("");
edit15.addOnTextChanged(new EventHandler(this.edit15_textChanged)); edit14.setLocation(new Point(56, 48));
edit14.setSize(new Point(32, 19));
edit14.setTabIndex(14);
edit14.setText("");
edit14.addOnTextChanged(new EventHandler(this.edit14_textChanged)); edit13.setLocation(new Point(8, 48));
edit13.setSize(new Point(32, 19));
edit13.setTabIndex(12);
edit13.setText("");
edit13.addOnTextChanged(new EventHandler(this.edit13_textChanged)); label11.setLocation(new Point(104, 16));
label11.setSize(new Point(32, 16));
label11.setTabIndex(10);
label11.setTabStop(false);
label11.setText("C资源"); label10.setLocation(new Point(56, 16));
label10.setSize(new Point(32, 16));
label10.setTabIndex(8);
label10.setTabStop(false);
label10.setText("B资源"); label3.setLocation(new Point(104, 16));
label3.setSize(new Point(32, 16));
label3.setTabIndex(2);
label3.setTabStop(false);
label3.setText("C资源"); label2.setLocation(new Point(56, 16));
label2.setSize(new Point(32, 16));
label2.setTabIndex(1);
label2.setTabStop(false);
label2.setText("B资源"); label1.setLocation(new Point(8, 16));
label1.setSize(new Point(32, 16));
label1.setTabIndex(0);
label1.setTabStop(false);
label1.setText("A资源"); button1.setLocation(new Point(352, 352));
button1.setSize(new Point(75, 23));
button1.setTabIndex(3);
button1.setText("确定");
button1.addOnClick(new EventHandler(this.button1_click)); button2.setLocation(new Point(456, 352));
button2.setSize(new Point(75, 23));
button2.setTabIndex(4);
button2.setText("清空");
button2.addOnClick(new EventHandler(this.button2_click)); label39.setLocation(new Point(520, 280));
label39.setSize(new Point(100, 23));
label39.setTabIndex(20);
label39.setTabStop(false);
label39.setText("计数:");
label39.addOnClick(new EventHandler(this.label39_click)); label38.setLocation(new Point(520, 248));
label38.setSize(new Point(100, 23));
label38.setTabIndex(19);
label38.setTabStop(false);
label38.setText("计数:");
label38.addOnClick(new EventHandler(this.label38_click)); label37.setLocation(new Point(520, 216));
label37.setSize(new Point(100, 23));
label37.setTabIndex(18);
label37.setTabStop(false);
label37.setText("计数:");
label37.addOnClick(new EventHandler(this.label37_click)); label36.setLocation(new Point(520, 184));
label36.setSize(new Point(100, 23));
label36.setTabIndex(17);
label36.setTabStop(false);
label36.setText("计数:");
label36.addOnClick(new EventHandler(this.label36_click)); label27.setLocation(new Point(104, 16));
label27.setSize(new Point(32, 16));
label27.setTabIndex(14);
label27.setTabStop(false);
label27.setText("C资源"); label26.setLocation(new Point(56, 16));
label26.setSize(new Point(32, 16));
label26.setTabIndex(13);
label26.setTabStop(false);
label26.setText("B资源"); label25.setLocation(new Point(8, 16));
label25.setSize(new Point(32, 16));
label25.setTabIndex(12);
label25.setTabStop(false);
label25.setText("A资源"); edit43.setLocation(new Point(104, 144));
edit43.setSize(new Point(32, 19));
edit43.setTabIndex(11);
edit43.setText("");
edit43.addOnTextChanged(new EventHandler(this.edit43_textChanged)); edit42.setLocation(new Point(56, 144));
edit42.setSize(new Point(32, 19));
edit42.setTabIndex(10);
edit42.setText("");
edit42.addOnTextChanged(new EventHandler(this.edit42_textChanged)); edit41.setLocation(new Point(8, 144));
edit41.setSize(new Point(32, 19));
edit41.setTabIndex(9);
edit41.setText("");
edit41.addOnTextChanged(new EventHandler(this.edit41_textChanged)); edit40.setLocation(new Point(104, 112));
edit40.setSize(new Point(32, 19));
edit40.setTabIndex(8);
edit40.setText("");
edit40.addOnTextChanged(new EventHandler(this.edit40_textChanged)); edit39.setLocation(new Point(56, 112));
edit39.setSize(new Point(32, 19));
edit39.setTabIndex(7);
edit39.setText("");
edit39.addOnTextChanged(new EventHandler(this.edit39_textChanged)); edit38.setLocation(new Point(8, 112));
edit38.setSize(new Point(32, 19));
edit38.setTabIndex(6);
edit38.setText("");
edit38.addOnTextChanged(new EventHandler(this.edit38_textChanged)); edit37.setLocation(new Point(104, 80));
edit37.setSize(new Point(32, 19));
edit37.setTabIndex(5);
edit37.setText("");
edit37.addOnTextChanged(new EventHandler(this.edit37_textChanged)); edit36.setLocation(new Point(56, 80));
edit36.setSize(new Point(32, 19));
edit36.setTabIndex(4);
edit36.setText("");
edit36.addOnTextChanged(new EventHandler(this.edit36_textChanged)); edit35.setLocation(new Point(8, 80));
edit35.setSize(new Point(32, 19));
edit35.setTabIndex(3);
edit35.setText("");
edit35.addOnTextChanged(new EventHandler(this.edit35_textChanged)); label24.setLocation(new Point(264, 120));
label24.setSize(new Point(64, 23));
label24.setTabIndex(5);
label24.setTabStop(false);
label24.setText("ALLOCATION"); edit34.setLocation(new Point(104, 48));
edit34.setSize(new Point(32, 19));
edit34.setTabIndex(2);
edit34.setText("");
edit34.addOnTextChanged(new EventHandler(this.edit34_textChanged)); edit33.setLocation(new Point(56, 48));
edit33.setSize(new Point(32, 19));
edit33.setTabIndex(1);
edit33.setText("");
edit33.addOnTextChanged(new EventHandler(this.edit33_textChanged)); edit32.setLocation(new Point(8, 48));
edit32.setSize(new Point(32, 19));
edit32.setTabIndex(0);
edit32.setText("");
edit32.addOnTextChanged(new EventHandler(this.edit32_textChanged)); label28.setLocation(new Point(280, 24));
label28.setSize(new Point(56, 16));
label28.setTabIndex(6);
label28.setTabStop(false);
label28.setText("AVAILABLE"); groupBox7.setLocation(new Point(416, 40));
groupBox7.setSize(new Point(144, 64));
groupBox7.setTabIndex(14);
groupBox7.setTabStop(false);
groupBox7.setText(""); groupBox1.setLocation(new Point(32, 320));
groupBox1.setSize(new Point(240, 80));
groupBox1.setTabIndex(7);
groupBox1.setTabStop(false);
groupBox1.setText(""); edit44.setLocation(new Point(32, 48));
edit44.setSize(new Point(56, 19));
edit44.setTabIndex(0);
edit44.setText("");
edit44.addOnTextChanged(new EventHandler(this.edit44_textChanged)); edit45.setLocation(new Point(104, 48));
edit45.setSize(new Point(32, 19));
edit45.setTabIndex(1);
edit45.setText("");
edit45.addOnTextChanged(new EventHandler(this.edit45_textChanged)); edit46.setLocation(new Point(152, 48));
edit46.setSize(new Point(32, 19));
edit46.setTabIndex(2);
edit46.setText("");
edit46.addOnTextChanged(new EventHandler(this.edit46_textChanged)); edit47.setLocation(new Point(200, 48));
edit47.setSize(new Point(32, 19));
edit47.setTabIndex(3);
edit47.setText("");
edit47.addOnTextChanged(new EventHandler(this.edit47_textChanged)); label29.setLocation(new Point(32, 24));
label29.setSize(new Point(48, 16));
label29.setTabIndex(4);
label29.setTabStop(false);
label29.setText("REQUEST"); label30.setLocation(new Point(104, 24));
label30.setSize(new Point(32, 16));
label30.setTabIndex(5);
label30.setTabStop(false);
label30.setText("A资源"); label31.setLocation(new Point(152, 24));
label31.setSize(new Point(32, 16));
label31.setTabIndex(6);
label31.setTabStop(false);
label31.setText("B资源"); label32.setLocation(new Point(200, 24));
label32.setSize(new Point(32, 16));
label32.setTabIndex(7);
label32.setTabStop(false);
label32.setText("C资源"); groupBox2.setLocation(new Point(80, 136));
groupBox2.setSize(new Point(144, 168));
groupBox2.setTabIndex(8);
groupBox2.setTabStop(false);
groupBox2.setText(""); groupBox3.setLocation(new Point(8, 136));
groupBox3.setSize(new Point(72, 168));
groupBox3.setTabIndex(9);
groupBox3.setTabStop(false);
groupBox3.setText(""); groupBox4.setLocation(new Point(224, 136));
groupBox4.setSize(new Point(144, 168));
groupBox4.setTabIndex(10);
groupBox4.setTabStop(false);
groupBox4.setText(""); groupBox5.setLocation(new Point(240, 40));
groupBox5.setSize(new Point(144, 64));
groupBox5.setTabIndex(12);
groupBox5.setTabStop(false);
groupBox5.setText(""); label9.setLocation(new Point(8, 16));
label9.setSize(new Point(32, 16));
label9.setTabIndex(6);
label9.setTabStop(false);
label9.setText("A资源"); label20.setLocation(new Point(24, 120));
label20.setSize(new Point(48, 16));
label20.setTabIndex(13);
label20.setTabStop(false);
label20.setText("PROCESS"); label21.setLocation(new Point(8, 16));
label21.setSize(new Point(32, 16));
label21.setTabIndex(0);
label21.setTabStop(false);
label21.setText("A资源"); edit28.setLocation(new Point(8, 40));
edit28.setSize(new Point(32, 19));
edit28.setTabIndex(1);
edit28.setText(""); label22.setLocation(new Point(56, 16));
label22.setSize(new Point(32, 16));
label22.setTabIndex(2);
label22.setTabStop(false);
label22.setText("B资源"); edit29.setLocation(new Point(56, 40));
edit29.setSize(new Point(32, 19));
edit29.setTabIndex(3);
edit29.setText(""); label23.setLocation(new Point(104, 16));
label23.setSize(new Point(32, 16));
label23.setTabIndex(4);
label23.setTabStop(false);
label23.setText("C资源"); edit30.setLocation(new Point(104, 40));
edit30.setSize(new Point(32, 19));
edit30.setTabIndex(5);
edit30.setText(""); label33.setLocation(new Point(472, 24));
label33.setSize(new Point(32, 16));
label33.setTabIndex(15);
label33.setTabStop(false);
label33.setText("WOKE"); label34.setLocation(new Point(64, 24));
label34.setSize(new Point(80, 16));
label34.setTabIndex(16);
label34.setTabStop(false);
label34.setText("系统分配情况"); label35.setLocation(new Point(8, 48));
label35.setSize(new Point(24, 16));
label35.setTabIndex(8);
label35.setTabStop(false);
label35.setText("进程"); this.setNewControls(new Control[] {
label39,
label38,
label37,
label36,
label34,
label33,
groupBox7,
label20,
groupBox5,
groupBox6,
groupBox4,
groupBox3,
groupBox2,
groupBox1,
label5,
label28,
label24,
button2,
button1,
label4,
richEdit1});
groupBox6.setNewControls(new Control[] {
label9,
label10,
label11,
edit13,
edit14,
edit15,
edit16,
edit17,
edit18,
edit19,
edit20,
edit21,
edit22,
edit23,
edit24});
groupBox7.setNewControls(new Control[] {
edit30,
label23,
edit29,
label22,
edit28,
label21});
groupBox1.setNewControls(new Control[] {
label35,
label32,
label31,
label30,
label29,
edit47,
edit46,
edit45,
edit44});
groupBox2.setNewControls(new Control[] {
edit12,
edit11,
edit10,
edit9,
edit8,
edit7,
edit6,
edit5,
edit4,
edit3,
edit2,
edit1,
label8,
label7,
label6});
groupBox3.setNewControls(new Control[] {
label15,
label14,
label13,
label12});
groupBox4.setNewControls(new Control[] {
label27,
label26,
label25,
edit43,
edit42,
edit41,
edit40,
edit39,
edit38,
edit37,
edit36,
edit35,
edit34,
edit33,
edit32});
groupBox5.setNewControls(new Control[] {
edit27,
edit26,
edit25,
label3,
label2,
label1});
} /**
* The main entry point for the application.
*
* @param args Array of parameters passed to the application
* via the command line.
*/
public static void main(String args[])
{
Application.run(new Form1());
}
}小弟刚学java,不自量力的用它来编写银行家算法。星期天老师就要检查了呀,哪位大侠帮一下呀,要是程序不能通过,期末的操作系统不能考呀。
import com.ms.wfc.core.*;
import com.ms.wfc.ui.*;
import com.ms.wfc.html.*;/**
* This class can take a variable number of parameters on the command
* line. Program execution begins with the main() method. The class
* constructor is not invoked unless an object of type 'Form1' is
* created in the main() method.
*/
public class Form1 extends Form
{
//各进程当前拥有的各资源的数目。
private int allocation[][]=new int [4][3];
//各进程还需要的各资源的数目。
private int need[][]=new int [4][3];
//各进程对各类资源的最大需求量
private int max[][]=new int[4][3];
//安全算法检测时,系统可提供给进程继续运行的各类资源数,初始值等于available[][]。
private int work[] =new int [3];
//各资源的可利用量,初始值为系统中所分配的该类全部可利用资源量,其数值随该类资源的分配和回收而动态改变。
private int available[] = new int [3];
//当前检测的进程
private int process[] =new int[4] ;
//当前需要进行安全算法判断的进程中各资源的需求量。
private int request[] = new int [3];
//用于检测计数器是否跳动
private int A[] = {1,1,1,1};
//提出申请的进程号。
private int n;
//计数器计数的值。
private int x0=0,x1=0,x2=0,x3=0;
private String fpro[]={"process1","process2","process3","process4"};
public Form1()
{
// Required for Visual J++ Form Designer support
initForm();
// TODO: Add any constructor code after initForm call
/**
* 调用时间函数,为各各进程设置计数器,以显示进程的各种状态。
* 开始时进程各各计数器停止不动,设为0,然后根据各种状态来改变其值。
* 如进程运行时计数器不停的计数,如进程挂起,则计数器停止运行
* 如进程再次被唤醒且重新调入运行时重新开始计数。
* (此处需修改为计数器而不是显示系统时间)
*/
} /**
* Form1 overrides dispose so it can clean up the
* component list.
*/
public void dispose()
{
super.dispose();
components.dispose();
}
/**
* button1表示确定按钮,按下去则进行安全算法的判断,当安全算法判断完毕
* 后进行分析,如果通过安全算法,则允许系统进行分配该资源,此时可看到计
* 数器在跳动,如果不能进行分配,则计数器仍旧停止不动,该进程被挂起。
*/
private void button1_click(Object source, Event e)
{
/**
* 判断是否成功,如成功则显示可接受的分配方案,同时改变各资源数目
* ,并且在分配时也要使的各计数器进行各自应该进行的状态,或计数或停止
* 如不行,则回复不能分配,当前进程的挂起,计数器停止计数。(要加代码)
*/
counte();
safetytext(n);
if(safetytext(n))
{
richEdit1.setText ("process"+n+"申请成功,运行!安全序列为"+process[0]+process[1]+process[2]+process[3]);
for(int i=0;i<available.length ;i++)
{
need[n][i]-=request[i];
available[i]+=allocation[n][i];
}
}
else
{
richEdit1.setText ("process"+n+"申请不成功,挂起!");
A[n]=0;
counte();
}
}// button2表示清空,把各值还原成刚登入界面是的状态。
private void button2_click(Object source, Event e)
{
A[0]=A[1]=A[2]=A[3]=0;
counte();
//MAX函数清空。
this.edit1.setText ("");
this.edit2.setText ("");
this.edit3.setText ("");
this.edit4.setText ("");
this.edit5.setText ("");
this.edit6.setText ("");
this.edit7.setText ("");
this.edit8.setText ("");
this.edit9.setText ("");
this.edit10.setText ("");
this.edit11.setText ("");
this.edit12.setText ("");
//NEED函数清空。
this.edit13.setText ("");
this.edit14.setText ("");
this.edit15.setText ("");
this.edit16.setText ("");
this.edit17.setText ("");
this.edit18.setText ("");
this.edit19.setText ("");
this.edit20.setText ("");
this.edit21.setText ("");
this.edit22.setText ("");
this.edit23.setText ("");
this.edit24.setText ("");
//AVAILABLE函数清空。
this.edit25.setText ("");
this.edit26.setText ("");
this.edit27.setText ("");
//WOKE函数清空。
this.edit28.setText ("");
this.edit29.setText ("");
this.edit30.setText ("");
//ALLOCATION函数清空。
this.edit32.setText ("");
this.edit33.setText ("");
this.edit34.setText ("");
this.edit35.setText ("");
this.edit36.setText ("");
this.edit37.setText ("");
this.edit38.setText ("");
this.edit39.setText ("");
this.edit40.setText ("");
this.edit41.setText ("");
this.edit42.setText ("");
this.edit43.setText ("");
//REQUEST框的各数清空。
this.edit44.setText ("");
this.edit45.setText ("");
this.edit46.setText ("");
this.edit47.setText ("");
//系统分配框清空。
this.richEdit1.setText ("");
} //max数组进程1,A资源赋值
private void edit1_textChanged(Object source, Event e)
{
max[0][0]=Integer.parseInt(edit1.getText());
}
//max数组进程1,B资源赋值
private void edit2_textChanged(Object source, Event e)
{
max[0][1]=Integer.parseInt(edit2.getText());
}
//max数组进程1,C资源赋值
private void edit3_textChanged(Object source, Event e)
{
max[0][2]=Integer.parseInt(edit3.getText());
}
//max数组进程2,A资源赋值
private void edit4_textChanged(Object source, Event e)
{
max[1][0]=Integer.parseInt(edit4.getText());
}
//max数组进程2,B资源赋值
private void edit5_textChanged(Object source, Event e)
{
max[1][1]=Integer.parseInt(edit5.getText());
}
//max数组进程2,C资源赋值
private void edit6_textChanged(Object source, Event e)
{
max[1][2]=Integer.parseInt(edit6.getText());
}
//max数组进程3,A资源赋值
private void edit7_textChanged(Object source, Event e)
{
max[2][0]=Integer.parseInt(edit7.getText());
}
//max数组进程3,B资源赋值
private void edit8_textChanged(Object source, Event e)
{
max[2][1]=Integer.parseInt(edit8.getText());
}
//max数组进程3,C资源赋值
private void edit9_textChanged(Object source, Event e)
{
max[2][2]=Integer.parseInt(edit9.getText());
}
//max数组进程4,A资源赋值
private void edit10_textChanged(Object source, Event e)
{
max[3][0]=Integer.parseInt(edit10.getText());
}
//max数组进程4,B资源赋值
private void edit11_textChanged(Object source, Event e)
{
max[3][1]=Integer.parseInt(edit11.getText());
}
//max数组进程4,C资源赋值
private void edit12_textChanged(Object source, Event e)
{
max[3][2]=Integer.parseInt(edit12.getText());
}
//need数组进程1,A资源赋值
private void edit13_textChanged(Object source, Event e)
{
need[0][0]=Integer.parseInt(edit13.getText());
}
//need数组进程1,B资源赋值
private void edit14_textChanged(Object source, Event e)
{
need[0][1]=Integer.parseInt(edit14.getText());
}
//need数组进程1,C资源赋值
private void edit15_textChanged(Object source, Event e)
{
need[0][2]=Integer.parseInt(edit15.getText());
}
//need数组进程2,A资源赋值
private void edit16_textChanged(Object source, Event e)
{
need[1][0]=Integer.parseInt(edit16.getText());
}
//need数组进程2,B资源赋值
private void edit17_textChanged(Object source, Event e)
{
need[1][1]=Integer.parseInt(edit17.getText());
}
//need数组进程2,C资源赋值
private void edit18_textChanged(Object source, Event e)
{
need[1][2]=Integer.parseInt(edit18.getText());
}
//need数组进程3,A资源赋值
private void edit19_textChanged(Object source, Event e)
{
need[2][0]=Integer.parseInt(edit19.getText());
}
//need数组进程3,B资源赋值
private void edit20_textChanged(Object source, Event e)
{
need[2][1]=Integer.parseInt(edit20.getText());
}
//need数组进程3,C资源赋值
private void edit21_textChanged(Object source, Event e)
{
need[2][2]=Integer.parseInt(edit21.getText());
}
//need数组进程4,A资源赋值
private void edit22_textChanged(Object source, Event e)
{
need[3][0]=Integer.parseInt(edit22.getText());
}
//need数组进程4,B资源赋值
private void edit23_textChanged(Object source, Event e)
{
need[3][1]=Integer.parseInt(edit23.getText());
}
//need数组进程4,C资源赋值
private void edit24_textChanged(Object source, Event e)
{
need[3][2]=Integer.parseInt(edit24.getText());
}
//available项中A资源赋值
private void edit25_textChanged(Object source, Event e)
{
work[0]=Integer.parseInt(edit25.getText());
}
//available项中B资源赋值
private void edit26_textChanged(Object source, Event e)
{
work[1]=Integer.parseInt(edit26.getText());
}
//available项中C资源赋值
private void edit27_textChanged(Object source, Event e)
{
work[2]=Integer.parseInt(edit27.getText());
}
//allocation数组进程1,A资源赋值
private void edit32_textChanged(Object source, Event e)
{
allocation[0][0]=Integer.parseInt (edit32.getText ());
}
//allocation数组进程1,B资源赋值
private void edit33_textChanged(Object source, Event e)
{
allocation[0][1]=Integer.parseInt (edit33.getText ());
}
//allocation数组进程1,C资源赋值
private void edit34_textChanged(Object source, Event e)
{
allocation[0][2]=Integer.parseInt (edit34.getText ());
}
//allocation数组进程2,A资源赋值
private void edit35_textChanged(Object source, Event e)
{
allocation[1][0]=Integer.parseInt (edit35.getText ());
}
//allocation数组进程2,B资源赋值
private void edit36_textChanged(Object source, Event e)
{
allocation[1][1]=Integer.parseInt (edit36.getText ());
}
//allocation数组进程2,C资源赋值
private void edit37_textChanged(Object source, Event e)
{
allocation[1][2]=Integer.parseInt (edit37.getText ());
}
//allocation数组进程3,A资源赋值
private void edit38_textChanged(Object source, Event e)
{
allocation[2][0]=Integer.parseInt (edit38.getText ());
}
//allocation数组进程3,B资源赋值
private void edit39_textChanged(Object source, Event e)
{
allocation[2][1]=Integer.parseInt (edit39.getText ());
}
//allocation数组进程3,C资源赋值
private void edit40_textChanged(Object source, Event e)
{
allocation[2][2]=Integer.parseInt (edit40.getText ());
}
//allocation数组进程4,A资源赋值
private void edit41_textChanged(Object source, Event e)
{
allocation[3][0]=Integer.parseInt (edit41.getText ());
}
//allocation数组进程4,B资源赋值
private void edit42_textChanged(Object source, Event e)
{
allocation[3][1]=Integer.parseInt (edit42.getText ());
}
//allocation数组进程4,C资源赋值
private void edit43_textChanged(Object source, Event e)
{
allocation[3][2]=Integer.parseInt (edit43.getText ());
}
//当前要求系统进行安全算法判断的进程
private void edit44_textChanged(Object source, Event e)
{
n=Integer.parseInt (edit44.getText ());
}
//REQUEST框中,当前要求进行安全算法检测的进程的A资源需求量
private void edit45_textChanged(Object source, Event e)
{
request[0]=Integer.parseInt (edit45.getText ());
}
//REQUEST框中,当前要求进行安全算法检测的进程的B资源需求量
private void edit46_textChanged(Object source, Event e)
{
request[1]=Integer.parseInt (edit46.getText ());
}
//REQUEST框中,当前要求进行安全算法检测的进程的C资源需求量
private void edit47_textChanged(Object source, Event e)
{
request[2]=Integer.parseInt (edit47.getText ());
}
//安全算法的检测过程
private boolean safetytext(int n)
{
//finish数组表示系统是否有足够的资源分配给进程,使之运行完全。
boolean finish[]={false,false,false,false};
int k=1;
String str;
str=""; if(finish[n]==false)
{
if((request[0]<=work[0])&&(request[1]<=work[1])&&(request[2]<=work[2])&&(request[0]<=need[n][0])&&(request[1]<=need[n][1])&&(request[2]<=need[n][2]))
{
for (int i = 0;i< work.length ;i++)
{
work[i]=work[i]+allocation[n][i];
}
process[0]=n;
str=str+fpro[n];
finish[n]=true;
k=k+1;
while(k!=need.length )
{
for(int i=0;i<need.length ;i++)
{
if (i==n)
continue;
else
if((need[i][0]<=work[0])&&(need[i][1]<=work[1])&&(need[i][2]<=work[2]))
{
finish[i]=true;
for(int j=0;j<work.length;j++)
{
work[i]=work[i]+allocation[i][j];
}
process[k]=i;
k=k+1;
}
}
}
}
else
finish[n]=false;
}
if(finish[0]&&finish[1]&&finish[2]&&finish[3])
return true;
else
return false;
}
public void counte()
{
if(A[0]==1)
label36.setText(Integer.toString(x0++));
else
label36.setText(Integer.toString(x0));
if(A[1]==1)
label37.setText(Integer.toString(x1++));
else
label37.setText(Integer.toString(x1++));
if(A[2]==1)
label38.setText(Integer.toString(x2++));
else
label38.setText(Integer.toString(x2));
if(A[3]==1)
label39.setText(Integer.toString(x3++));
else
label39.setText(Integer.toString(x3));
}
private void Form1_click(Object source, Event e)
{
} private void richEdit1_textChanged(Object source, Event e)
{
} private void label36_click(Object source, Event e)
{
} private void label37_click(Object source, Event e)
{
} private void label38_click(Object source, Event e)
{
} private void label39_click(Object source, Event e)
{
} /**
* NOTE: The following code is required by the Visual J++ form
* designer. It can be modified using the form editor. Do not
* modify it using the code editor.
*/
Container components = new Container();
RichEdit richEdit1 = new RichEdit();
Edit edit27 = new Edit();
Edit edit26 = new Edit();
Edit edit25 = new Edit();
Label label4 = new Label();
Label label5 = new Label();
Edit edit12 = new Edit();
Edit edit11 = new Edit();
Edit edit10 = new Edit();
GroupBox groupBox6 = new GroupBox();
Edit edit24 = new Edit();
Edit edit23 = new Edit();
Label label15 = new Label();
Label label14 = new Label();
Label label13 = new Label();
Label label12 = new Label();
Edit edit9 = new Edit();
Edit edit8 = new Edit();
Edit edit7 = new Edit();
Edit edit6 = new Edit();
Edit edit5 = new Edit();
Edit edit4 = new Edit();
Edit edit3 = new Edit();
Edit edit2 = new Edit();
Edit edit1 = new Edit();
Label label8 = new Label();
Label label7 = new Label();
Label label6 = new Label();
Edit edit22 = new Edit();
Edit edit21 = new Edit();
Edit edit20 = new Edit();
Edit edit19 = new Edit();
Edit edit18 = new Edit();
Edit edit17 = new Edit();
Edit edit16 = new Edit();
Edit edit15 = new Edit();
Edit edit14 = new Edit();
Edit edit13 = new Edit();
Label label11 = new Label();
Label label10 = new Label();
Label label3 = new Label();
Label label2 = new Label();
Label label1 = new Label();
Button button1 = new Button();
Button button2 = new Button();
Label label39 = new Label();
Label label38 = new Label();
Label label37 = new Label();
Label label36 = new Label();
Label label27 = new Label();
Label label26 = new Label();
Label label25 = new Label();
Edit edit43 = new Edit();
Edit edit42 = new Edit();
Edit edit41 = new Edit();
Edit edit40 = new Edit();
Edit edit39 = new Edit();
Edit edit38 = new Edit();
Edit edit37 = new Edit();
Edit edit36 = new Edit();
Edit edit35 = new Edit();
Label label24 = new Label();
Edit edit34 = new Edit();
Edit edit33 = new Edit();
Edit edit32 = new Edit();
Label label28 = new Label();
GroupBox groupBox7 = new GroupBox();
GroupBox groupBox1 = new GroupBox();
Edit edit44 = new Edit();
Edit edit45 = new Edit();
Edit edit46 = new Edit();
Edit edit47 = new Edit();
Label label29 = new Label();
Label label30 = new Label();
Label label31 = new Label();
Label label32 = new Label();
GroupBox groupBox2 = new GroupBox();
GroupBox groupBox3 = new GroupBox();
GroupBox groupBox4 = new GroupBox();
GroupBox groupBox5 = new GroupBox();
Label label9 = new Label();
Label label20 = new Label();
Label label21 = new Label();
Edit edit28 = new Edit();
Label label22 = new Label();
Edit edit29 = new Edit();
Label label23 = new Label();
Edit edit30 = new Edit();
Label label33 = new Label();
Label label34 = new Label();
Label label35 = new Label(); private void initForm()
{
this.setText("Form1");
this.setAutoScaleBaseSize(new Point(6, 12));
this.setClientSize(new Point(638, 404));
this.addOnClick(new EventHandler(this.Form1_click)); richEdit1.setFont(Font.DEFAULT_GUI);
richEdit1.setForeColor(Color.WINDOWTEXT);
richEdit1.setLocation(new Point(16, 48));
richEdit1.setSize(new Point(184, 64));
richEdit1.setTabIndex(0);
richEdit1.setText("");
richEdit1.addOnTextChanged(new EventHandler(this.richEdit1_textChanged)); edit27.setLocation(new Point(104, 40));
edit27.setSize(new Point(32, 19));
edit27.setTabIndex(5);
edit27.setText("");
edit27.addOnTextChanged(new EventHandler(this.edit27_textChanged)); edit26.setLocation(new Point(56, 40));
edit26.setSize(new Point(32, 19));
edit26.setTabIndex(4);
edit26.setText("");
edit26.addOnTextChanged(new EventHandler(this.edit26_textChanged)); edit25.setLocation(new Point(8, 40));
edit25.setSize(new Point(32, 19));
edit25.setTabIndex(3);
edit25.setText("");
edit25.addOnTextChanged(new EventHandler(this.edit25_textChanged)); label4.setLocation(new Point(136, 120));
label4.setSize(new Point(32, 23));
label4.setTabIndex(1);
label4.setTabStop(false);
label4.setText("MAX"); label5.setLocation(new Point(432, 120));
label5.setSize(new Point(40, 16));
label5.setTabIndex(2);
label5.setTabStop(false);
label5.setText("NEED"); edit12.setLocation(new Point(104, 144));
edit12.setSize(new Point(32, 19));
edit12.setTabIndex(14);
edit12.setText("");
edit12.addOnTextChanged(new EventHandler(this.edit12_textChanged)); edit11.setLocation(new Point(56, 144));
edit11.setSize(new Point(32, 19));
edit11.setTabIndex(13);
edit11.setText("");
edit11.addOnTextChanged(new EventHandler(this.edit11_textChanged)); edit10.setLocation(new Point(8, 144));
edit10.setSize(new Point(32, 19));
edit10.setTabIndex(12);
edit10.setText("");
edit10.addOnTextChanged(new EventHandler(this.edit10_textChanged)); groupBox6.setLocation(new Point(368, 136));
groupBox6.setSize(new Point(144, 168));
groupBox6.setTabIndex(11);
groupBox6.setTabStop(false);
groupBox6.setText(""); edit24.setLocation(new Point(104, 144));
edit24.setSize(new Point(32, 19));
edit24.setTabIndex(0);
edit24.setText("");
edit24.addOnTextChanged(new EventHandler(this.edit24_textChanged)); edit23.setLocation(new Point(56, 144));
edit23.setSize(new Point(32, 19));
edit23.setTabIndex(1);
edit23.setText("");
edit23.addOnTextChanged(new EventHandler(this.edit23_textChanged)); label15.setLocation(new Point(8, 144));
label15.setSize(new Point(56, 16));
label15.setTabIndex(3);
label15.setTabStop(false);
label15.setText("PROCESS3"); label14.setLocation(new Point(8, 112));
label14.setSize(new Point(56, 16));
label14.setTabIndex(2);
label14.setTabStop(false);
label14.setText("PROCESS2"); label13.setLocation(new Point(8, 80));
label13.setSize(new Point(56, 16));
label13.setTabIndex(1);
label13.setTabStop(false);
label13.setText("PROCESS1"); label12.setLocation(new Point(8, 48));
label12.setSize(new Point(56, 16));
label12.setTabIndex(0);
label12.setTabStop(false);
label12.setText("PROCESS0"); edit9.setLocation(new Point(104, 112));
edit9.setSize(new Point(32, 19));
edit9.setTabIndex(11);
edit9.setText("");
edit9.addOnTextChanged(new EventHandler(this.edit9_textChanged)); edit8.setLocation(new Point(56, 112));
edit8.setSize(new Point(32, 19));
edit8.setTabIndex(10);
edit8.setText("");
edit8.addOnTextChanged(new EventHandler(this.edit8_textChanged)); edit7.setLocation(new Point(8, 112));
edit7.setSize(new Point(32, 19));
edit7.setTabIndex(9);
edit7.setText("");
edit7.addOnTextChanged(new EventHandler(this.edit7_textChanged)); edit6.setLocation(new Point(104, 80));
edit6.setSize(new Point(32, 19));
edit6.setTabIndex(8);
edit6.setText("");
edit6.addOnTextChanged(new EventHandler(this.edit6_textChanged)); edit5.setLocation(new Point(56, 80));
edit5.setSize(new Point(32, 19));
edit5.setTabIndex(7);
edit5.setText("");
edit5.addOnTextChanged(new EventHandler(this.edit5_textChanged)); edit4.setLocation(new Point(8, 80));
edit4.setSize(new Point(32, 19));
edit4.setTabIndex(6);
edit4.setText("");
edit4.addOnTextChanged(new EventHandler(this.edit4_textChanged)); edit3.setLocation(new Point(104, 48));
edit3.setSize(new Point(32, 19));
edit3.setTabIndex(5);
edit3.setText("");
edit3.addOnTextChanged(new EventHandler(this.edit3_textChanged)); edit2.setLocation(new Point(56, 48));
edit2.setSize(new Point(32, 19));
edit2.setTabIndex(4);
edit2.setText("");
edit2.addOnTextChanged(new EventHandler(this.edit2_textChanged)); edit1.setLocation(new Point(8, 48));
edit1.setSize(new Point(32, 19));
edit1.setTabIndex(3);
edit1.setText("");
edit1.addOnTextChanged(new EventHandler(this.edit1_textChanged)); label8.setLocation(new Point(104, 16));
label8.setSize(new Point(32, 16));
label8.setTabIndex(2);
label8.setTabStop(false);
label8.setText("C资源"); label7.setLocation(new Point(56, 16));
label7.setSize(new Point(32, 16));
label7.setTabIndex(1);
label7.setTabStop(false);
label7.setText("B资源"); label6.setLocation(new Point(8, 16));
label6.setSize(new Point(32, 16));
label6.setTabIndex(0);
label6.setTabStop(false);
label6.setText("A资源"); edit22.setLocation(new Point(8, 144));
edit22.setSize(new Point(32, 19));
edit22.setTabIndex(2);
edit22.setText("");
edit22.addOnTextChanged(new EventHandler(this.edit22_textChanged)); edit21.setLocation(new Point(104, 112));
edit21.setSize(new Point(32, 19));
edit21.setTabIndex(3);
edit21.setText("");
edit21.addOnTextChanged(new EventHandler(this.edit21_textChanged)); edit20.setLocation(new Point(56, 112));
edit20.setSize(new Point(32, 19));
edit20.setTabIndex(4);
edit20.setText("");
edit20.addOnTextChanged(new EventHandler(this.edit20_textChanged)); edit19.setLocation(new Point(8, 112));
edit19.setSize(new Point(32, 19));
edit19.setTabIndex(5);
edit19.setText("");
edit19.addOnTextChanged(new EventHandler(this.edit19_textChanged)); edit18.setLocation(new Point(104, 80));
edit18.setSize(new Point(32, 19));
edit18.setTabIndex(7);
edit18.setText("");
edit18.addOnTextChanged(new EventHandler(this.edit18_textChanged)); edit17.setLocation(new Point(56, 80));
edit17.setSize(new Point(32, 19));
edit17.setTabIndex(9);
edit17.setText("");
edit17.addOnTextChanged(new EventHandler(this.edit17_textChanged)); edit16.setLocation(new Point(8, 80));
edit16.setSize(new Point(32, 19));
edit16.setTabIndex(11);
edit16.setText("");
edit16.addOnTextChanged(new EventHandler(this.edit16_textChanged)); edit15.setLocation(new Point(104, 48));
edit15.setSize(new Point(32, 19));
edit15.setTabIndex(13);
edit15.setText("");
edit15.addOnTextChanged(new EventHandler(this.edit15_textChanged)); edit14.setLocation(new Point(56, 48));
edit14.setSize(new Point(32, 19));
edit14.setTabIndex(14);
edit14.setText("");
edit14.addOnTextChanged(new EventHandler(this.edit14_textChanged)); edit13.setLocation(new Point(8, 48));
edit13.setSize(new Point(32, 19));
edit13.setTabIndex(12);
edit13.setText("");
edit13.addOnTextChanged(new EventHandler(this.edit13_textChanged)); label11.setLocation(new Point(104, 16));
label11.setSize(new Point(32, 16));
label11.setTabIndex(10);
label11.setTabStop(false);
label11.setText("C资源"); label10.setLocation(new Point(56, 16));
label10.setSize(new Point(32, 16));
label10.setTabIndex(8);
label10.setTabStop(false);
label10.setText("B资源"); label3.setLocation(new Point(104, 16));
label3.setSize(new Point(32, 16));
label3.setTabIndex(2);
label3.setTabStop(false);
label3.setText("C资源"); label2.setLocation(new Point(56, 16));
label2.setSize(new Point(32, 16));
label2.setTabIndex(1);
label2.setTabStop(false);
label2.setText("B资源"); label1.setLocation(new Point(8, 16));
label1.setSize(new Point(32, 16));
label1.setTabIndex(0);
label1.setTabStop(false);
label1.setText("A资源"); button1.setLocation(new Point(352, 352));
button1.setSize(new Point(75, 23));
button1.setTabIndex(3);
button1.setText("确定");
button1.addOnClick(new EventHandler(this.button1_click)); button2.setLocation(new Point(456, 352));
button2.setSize(new Point(75, 23));
button2.setTabIndex(4);
button2.setText("清空");
button2.addOnClick(new EventHandler(this.button2_click)); label39.setLocation(new Point(520, 280));
label39.setSize(new Point(100, 23));
label39.setTabIndex(20);
label39.setTabStop(false);
label39.setText("计数:");
label39.addOnClick(new EventHandler(this.label39_click)); label38.setLocation(new Point(520, 248));
label38.setSize(new Point(100, 23));
label38.setTabIndex(19);
label38.setTabStop(false);
label38.setText("计数:");
label38.addOnClick(new EventHandler(this.label38_click)); label37.setLocation(new Point(520, 216));
label37.setSize(new Point(100, 23));
label37.setTabIndex(18);
label37.setTabStop(false);
label37.setText("计数:");
label37.addOnClick(new EventHandler(this.label37_click)); label36.setLocation(new Point(520, 184));
label36.setSize(new Point(100, 23));
label36.setTabIndex(17);
label36.setTabStop(false);
label36.setText("计数:");
label36.addOnClick(new EventHandler(this.label36_click)); label27.setLocation(new Point(104, 16));
label27.setSize(new Point(32, 16));
label27.setTabIndex(14);
label27.setTabStop(false);
label27.setText("C资源"); label26.setLocation(new Point(56, 16));
label26.setSize(new Point(32, 16));
label26.setTabIndex(13);
label26.setTabStop(false);
label26.setText("B资源"); label25.setLocation(new Point(8, 16));
label25.setSize(new Point(32, 16));
label25.setTabIndex(12);
label25.setTabStop(false);
label25.setText("A资源"); edit43.setLocation(new Point(104, 144));
edit43.setSize(new Point(32, 19));
edit43.setTabIndex(11);
edit43.setText("");
edit43.addOnTextChanged(new EventHandler(this.edit43_textChanged)); edit42.setLocation(new Point(56, 144));
edit42.setSize(new Point(32, 19));
edit42.setTabIndex(10);
edit42.setText("");
edit42.addOnTextChanged(new EventHandler(this.edit42_textChanged)); edit41.setLocation(new Point(8, 144));
edit41.setSize(new Point(32, 19));
edit41.setTabIndex(9);
edit41.setText("");
edit41.addOnTextChanged(new EventHandler(this.edit41_textChanged)); edit40.setLocation(new Point(104, 112));
edit40.setSize(new Point(32, 19));
edit40.setTabIndex(8);
edit40.setText("");
edit40.addOnTextChanged(new EventHandler(this.edit40_textChanged)); edit39.setLocation(new Point(56, 112));
edit39.setSize(new Point(32, 19));
edit39.setTabIndex(7);
edit39.setText("");
edit39.addOnTextChanged(new EventHandler(this.edit39_textChanged)); edit38.setLocation(new Point(8, 112));
edit38.setSize(new Point(32, 19));
edit38.setTabIndex(6);
edit38.setText("");
edit38.addOnTextChanged(new EventHandler(this.edit38_textChanged)); edit37.setLocation(new Point(104, 80));
edit37.setSize(new Point(32, 19));
edit37.setTabIndex(5);
edit37.setText("");
edit37.addOnTextChanged(new EventHandler(this.edit37_textChanged)); edit36.setLocation(new Point(56, 80));
edit36.setSize(new Point(32, 19));
edit36.setTabIndex(4);
edit36.setText("");
edit36.addOnTextChanged(new EventHandler(this.edit36_textChanged)); edit35.setLocation(new Point(8, 80));
edit35.setSize(new Point(32, 19));
edit35.setTabIndex(3);
edit35.setText("");
edit35.addOnTextChanged(new EventHandler(this.edit35_textChanged)); label24.setLocation(new Point(264, 120));
label24.setSize(new Point(64, 23));
label24.setTabIndex(5);
label24.setTabStop(false);
label24.setText("ALLOCATION"); edit34.setLocation(new Point(104, 48));
edit34.setSize(new Point(32, 19));
edit34.setTabIndex(2);
edit34.setText("");
edit34.addOnTextChanged(new EventHandler(this.edit34_textChanged)); edit33.setLocation(new Point(56, 48));
edit33.setSize(new Point(32, 19));
edit33.setTabIndex(1);
edit33.setText("");
edit33.addOnTextChanged(new EventHandler(this.edit33_textChanged)); edit32.setLocation(new Point(8, 48));
edit32.setSize(new Point(32, 19));
edit32.setTabIndex(0);
edit32.setText("");
edit32.addOnTextChanged(new EventHandler(this.edit32_textChanged)); label28.setLocation(new Point(280, 24));
label28.setSize(new Point(56, 16));
label28.setTabIndex(6);
label28.setTabStop(false);
label28.setText("AVAILABLE"); groupBox7.setLocation(new Point(416, 40));
groupBox7.setSize(new Point(144, 64));
groupBox7.setTabIndex(14);
groupBox7.setTabStop(false);
groupBox7.setText(""); groupBox1.setLocation(new Point(32, 320));
groupBox1.setSize(new Point(240, 80));
groupBox1.setTabIndex(7);
groupBox1.setTabStop(false);
groupBox1.setText(""); edit44.setLocation(new Point(32, 48));
edit44.setSize(new Point(56, 19));
edit44.setTabIndex(0);
edit44.setText("");
edit44.addOnTextChanged(new EventHandler(this.edit44_textChanged)); edit45.setLocation(new Point(104, 48));
edit45.setSize(new Point(32, 19));
edit45.setTabIndex(1);
edit45.setText("");
edit45.addOnTextChanged(new EventHandler(this.edit45_textChanged)); edit46.setLocation(new Point(152, 48));
edit46.setSize(new Point(32, 19));
edit46.setTabIndex(2);
edit46.setText("");
edit46.addOnTextChanged(new EventHandler(this.edit46_textChanged)); edit47.setLocation(new Point(200, 48));
edit47.setSize(new Point(32, 19));
edit47.setTabIndex(3);
edit47.setText("");
edit47.addOnTextChanged(new EventHandler(this.edit47_textChanged)); label29.setLocation(new Point(32, 24));
label29.setSize(new Point(48, 16));
label29.setTabIndex(4);
label29.setTabStop(false);
label29.setText("REQUEST"); label30.setLocation(new Point(104, 24));
label30.setSize(new Point(32, 16));
label30.setTabIndex(5);
label30.setTabStop(false);
label30.setText("A资源"); label31.setLocation(new Point(152, 24));
label31.setSize(new Point(32, 16));
label31.setTabIndex(6);
label31.setTabStop(false);
label31.setText("B资源"); label32.setLocation(new Point(200, 24));
label32.setSize(new Point(32, 16));
label32.setTabIndex(7);
label32.setTabStop(false);
label32.setText("C资源"); groupBox2.setLocation(new Point(80, 136));
groupBox2.setSize(new Point(144, 168));
groupBox2.setTabIndex(8);
groupBox2.setTabStop(false);
groupBox2.setText(""); groupBox3.setLocation(new Point(8, 136));
groupBox3.setSize(new Point(72, 168));
groupBox3.setTabIndex(9);
groupBox3.setTabStop(false);
groupBox3.setText(""); groupBox4.setLocation(new Point(224, 136));
groupBox4.setSize(new Point(144, 168));
groupBox4.setTabIndex(10);
groupBox4.setTabStop(false);
groupBox4.setText(""); groupBox5.setLocation(new Point(240, 40));
groupBox5.setSize(new Point(144, 64));
groupBox5.setTabIndex(12);
groupBox5.setTabStop(false);
groupBox5.setText(""); label9.setLocation(new Point(8, 16));
label9.setSize(new Point(32, 16));
label9.setTabIndex(6);
label9.setTabStop(false);
label9.setText("A资源"); label20.setLocation(new Point(24, 120));
label20.setSize(new Point(48, 16));
label20.setTabIndex(13);
label20.setTabStop(false);
label20.setText("PROCESS"); label21.setLocation(new Point(8, 16));
label21.setSize(new Point(32, 16));
label21.setTabIndex(0);
label21.setTabStop(false);
label21.setText("A资源"); edit28.setLocation(new Point(8, 40));
edit28.setSize(new Point(32, 19));
edit28.setTabIndex(1);
edit28.setText(""); label22.setLocation(new Point(56, 16));
label22.setSize(new Point(32, 16));
label22.setTabIndex(2);
label22.setTabStop(false);
label22.setText("B资源"); edit29.setLocation(new Point(56, 40));
edit29.setSize(new Point(32, 19));
edit29.setTabIndex(3);
edit29.setText(""); label23.setLocation(new Point(104, 16));
label23.setSize(new Point(32, 16));
label23.setTabIndex(4);
label23.setTabStop(false);
label23.setText("C资源"); edit30.setLocation(new Point(104, 40));
edit30.setSize(new Point(32, 19));
edit30.setTabIndex(5);
edit30.setText(""); label33.setLocation(new Point(472, 24));
label33.setSize(new Point(32, 16));
label33.setTabIndex(15);
label33.setTabStop(false);
label33.setText("WOKE"); label34.setLocation(new Point(64, 24));
label34.setSize(new Point(80, 16));
label34.setTabIndex(16);
label34.setTabStop(false);
label34.setText("系统分配情况"); label35.setLocation(new Point(8, 48));
label35.setSize(new Point(24, 16));
label35.setTabIndex(8);
label35.setTabStop(false);
label35.setText("进程"); this.setNewControls(new Control[] {
label39,
label38,
label37,
label36,
label34,
label33,
groupBox7,
label20,
groupBox5,
groupBox6,
groupBox4,
groupBox3,
groupBox2,
groupBox1,
label5,
label28,
label24,
button2,
button1,
label4,
richEdit1});
groupBox6.setNewControls(new Control[] {
label9,
label10,
label11,
edit13,
edit14,
edit15,
edit16,
edit17,
edit18,
edit19,
edit20,
edit21,
edit22,
edit23,
edit24});
groupBox7.setNewControls(new Control[] {
edit30,
label23,
edit29,
label22,
edit28,
label21});
groupBox1.setNewControls(new Control[] {
label35,
label32,
label31,
label30,
label29,
edit47,
edit46,
edit45,
edit44});
groupBox2.setNewControls(new Control[] {
edit12,
edit11,
edit10,
edit9,
edit8,
edit7,
edit6,
edit5,
edit4,
edit3,
edit2,
edit1,
label8,
label7,
label6});
groupBox3.setNewControls(new Control[] {
label15,
label14,
label13,
label12});
groupBox4.setNewControls(new Control[] {
label27,
label26,
label25,
edit43,
edit42,
edit41,
edit40,
edit39,
edit38,
edit37,
edit36,
edit35,
edit34,
edit33,
edit32});
groupBox5.setNewControls(new Control[] {
edit27,
edit26,
edit25,
label3,
label2,
label1});
} /**
* The main entry point for the application.
*
* @param args Array of parameters passed to the application
* via the command line.
*/
public static void main(String args[])
{
Application.run(new Form1());
}
}小弟刚学java,不自量力的用它来编写银行家算法。星期天老师就要检查了呀,哪位大侠帮一下呀,要是程序不能通过,期末的操作系统不能考呀。
解决方案 »
- 关于内部类的一段程序,哪位抽空给看看分析下
- JAVA Swing 布局求助
- 一个二维数组根据值(m)改变数组(m)个位置的值
- ftpClient.storeUniqueFile 上传文件失败返回false 求高人指点!!
- Java确实不可以捕捉windows桌面窗口时间吗???
- classpath 问题
- 讨论一下,java内部类的区别:静态成员类,成员类,局部类,和匿名类,他们分别最适合在是什么场合使用
- 有在中兴工作的朋友吗?中兴招java的吗?都做那方面的?
- 求MDI应用程序例子
- 菜鸟求救!哪位大虾有关于javaApplet实现简单计算器的代码!在线等候!
- Applet ,Rmi访问数据库,在本机上单独执行通过,若发布到tomcat上出现错误!
- JAVA能和C++相比吗?能用JAVA开发现在市面上的游戏吗?比如:半条命、仙剑等?
{
if(n>3) return false;
....
}
finish[n]=true;
k=k+1;
while(k<need.length )
和
private void button1_click(Object source, Event e)
{
/**
* 判断是否成功,如成功则显示可接受的分配方案,同时改变各资源数目
* ,并且在分配时也要使的各计数器进行各自应该进行的状态,或计数或停止
* 如不行,则回复不能分配,当前进程的挂起,计数器停止计数。(要加代码)
*/
counte();
safetytext(n);
去掉safetytext(n);
这两处改一下就不会出错了。
可是,现在如何加上计数功能了?如何是的在判断当前的进程提出申请时,它的计数器会进行计数了?