读书人

小弟我有一段 java程序需要完善

发布时间: 2012-01-29 21:39:32 作者: rapoo

我有一段 java程序需要完善
/**
工件类
*/
class WorkPiece
{
public boolean isProcessing = false;//是否在被加工中
public boolean Processed[5] = false;//机床加工完成
public int workertime[5];//机床加工时间
public int starttime[5];//每个机床上开始时间点
public int endtime[5];//每台机床加工结束时间

//开始加工
public startworked(int workernum, int time)
{
isProcessing=true;
starttime[workernum]=time;

}

//结束加工
public endworked(int workernum, int time)
{
isProcessing=false;
endtime[workernum]=time;
Processed[workernum] = true;
}

}

/**
机床类
*/
class Worker
{
public boolean isworking = false;//是否在工作中
public WorkPiece;//这台机床上正在被加工的工件
public int worklongth;//加工中工件已加工时长
public int starttime;//正在加工的开始时间

}

/**
加工场
*/
Class Factory
{
WorkPiece toprocessworkpiece =workpiece[0] ;
Worker toprocessworker;
int time = 0;//总工作时长
WorkPiece workpiece[4];
WorkPiece workpiece[0] = new WorkPiece();
WorkPiece workpiece[1]= new WorkPiece();
WorkPiece workpiece[2]= new WorkPiece();
WorkPiece workpiece[3]= new WorkPiece();

Worker work[5]
Worker work[0] = new Worker();
Worker work[1] = new Worker();
Worker work[2] = new Worker();
Worker work[3] = new Worker();
Worker work[4] = new Worker();

public void work()
{

//把机床加工时间付给每个工件
workpiece[1].workertime[0] =155;


workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
workpiece[1].workertime[0] =155;
..............................
while(true)
{
time++;
whoendprocess();
whostartprocess();

if(都被加工完)
{
跳出;
}

}
}

//检查当前时刻谁要被加工
public whostartprocess()
{
//循环工件
for (i=0,i <4,i++)
{
//察看工件在每个机床上的加工时间,挑出这个时刻谁可以被加工
for(j=0,j <5,j++)
{

if(workpiece[i].Processed[j] = true) //工件被此机床加工过跳出
break;
if(workpiece[i].isProcessing=true || work[j].isworking=true )//加工中跳出
break;
for(k=0,k <5,k++)
{


if(toprocessworkpiece.Processed[j] = true)
break;
if(workpiece[i].workertime[j] > toprocessworkpiece.workertime[k])
toprocessworkpiece = workpiece[i];
toprocessworker = work[k];
work[k].WorkPiece=toprocessworkpiece;
work[k].WorkPiece.startworked(k,time);

}

}
}

}
//检查当前时刻谁被加工完
public whoendprocess()
{
for(i=0,i <5,i++)
{
if(work[i].WorkPiece != null)
{
if( (time-work[i].starttime) > work[i].WorkPiece.workertime[i];
work[i].WorkPiece.endworked(i, time);
}
}


}

}

[解决办法]
主想嘛
想考一下大家?
[解决办法]
顶!
[解决办法]
问题是什么?

读书人网 >Java Web开发

热点推荐