📄 hdtable.java
字号:
/******************************************
*作业列表[作业ID][起始地址][大小][作业名]
******************************************/
package harddisk;
import myException.*;
public class HDTable
{
private static int Table[][];
private static String Name[];
private static int Size;
//初始化作业列表
public HDTable(int size)
{
Size = size;
Table = new int[Size][3];
Name = new String[Size];
for (int i=0;i<Size ;i++ )
{
Table[i][0] = 0;
Table[i][1] = -1;
Table[i][2] = 0;
Name[i] = "";
}
}
/***********************************************
*功能描述: 增加一作业记录到列表尾部
*参数说明: value[]:一条作业列表记录
***********************************************/
public void add(int value[],String name)
throws myException
{
int index = this.last();
if(index<Size)
{
Table[index][0] = value[0];
Table[index][1] = value[1];
Table[index][2] = value[2];
Name[index] = name;
}
else throw new myException("作业表已经达到最大记录数,不可以再添加了!");
}
/***********************************************
*功能描述: 取得最后一条记录的序号
***********************************************/
public int last()
{
for (int i=0;i<Size ;i++ )
{
if (Table[i][1]==-1)
{
return i;
}
}
return -1;
}
/***********************************************
*功能描述: 取得列表中某一记录
*参数说明: index: 记录序号
***********************************************/
public int[] getValue(int index)
{
return Table[index];
}
public int getValue(int index,int offset)
{
return Table[index][offset];
}
public String getName(int index)
{
return Name[index];
}
public void setValue(int index,int value[])
{
Table[index] = value;
}
public void setValue(int index,int offset,int value)
{
Table[index][offset] = value;
}
public void setName(int index,String name)
{
Name[index] = name;
}
/***********************************************
*功能描述: 寻找作业ID=id的作业在表中的序号
*参数说明: id:作业ID
***********************************************/
public int findID(int id)
{
for (int i=0;i<Size ;i++ )
{
if (Table[i][0] == id)
{
return i;
}
}
return -1;
}
public int findIndex(int id)
{
for (int i=0;i<Size ;i++ )
{
if (Table[i][0] == id)
{
return Table[i][1];
}
}
return -1;
}
public int getID(int index)
{
return Table[index][0];
}
public int getJobSize(int id)
{
for(int i=0;i<Size;i++)
{
if(Table[i][0]==id)
return Table[i][2];
}
return -1;
}
public void Remove(int index)
{
for(int i=index;i<Size-1;i++)
{
Table[i][0] = Table[i+1][0];
Table[i][1] = Table[i+1][1];
Table[i][2] = Table[i+1][2];
Name[i] = Name[i+1];
}
}
public int UsedSize()
{
int num=0;
for(int i=0;i<Size;i++)
{
if(Table[i][0]!=0)
num++;
}
return num;
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -