我在第一个类A中声明了public static变量,这样我就可以从类B中访问它,但是这个变量只能在类A的main方法中计算,并且它是可计算的,我在同一个类中得到了这个值,但是在类B中得到了一个零:
public class A {
public static double CloudMakespan;
public static double CalculCloudMakespan(){
double cloudms = 0;
int A= SimulationSetup.getCloudlet().length-1;
double executionEndTimeLastCloudlet = SimulationSetup.getCloudlet([A].getFinishTime();
double executionStartTimeFisrtCloudlet=SimulationSetup.getCloudlet()[0].getExecStartTime();
cloudms= executionEndTimeLastCloudlet - executionStartTimeFisrtCloudlet;
return cloudms; }
`public static void main(String[] args){
Cloudsim.startSimulation();
Cloudsim.EndSimulation();
CloudMakespan=CalculCloudMakespan();
}
i tried to do this in Class B
Class B{
private double totalMakespan;
private tasksMakespan;
public double doSomeCalCul(){
totalMakespan=ClassA.CloudMakespan+taskMakespan;
}
}
问题是在计算变量Cloudmakespan之前调用了方法DoSomeCalcul()
在那之后我不能调用它,因为开始模拟是指定指令的结果,其中一个指令正在计算云Makespan your text
1条答案
按热度按时间juzqafwq1#
也许你可以在“DoSomeCalcul”中循环多次,直到变量Cloudmakespan准备好,当然这样效率不高,最好在Cloudmakespan准备好的时候再回调“DoSomeCalcul”。